News for hackers. Stuff that matters.

coachdarek

Oh wow that's a really good question. I would pick the following but keep in mind it's important to go through all the different solutions.

1. Unique Paths 2. https://leetcode.com/problems/unique-paths-ii/. This problem can be solved with dynamic programming, graph traversal, and recursion.

2. Max Product of K Integers. Not exactly on Leetcode, but this one I really like. https://leetcode.com/problems/maximum-product-of-three-numbe.... It's essentially finding the maximum product obtained by selecting k numbers from a list of N integers (1 <= k <= N). This problem can be solved with a greedy algorithm, two pointer with sorting, using heap, and dynamic programming.

3. Word Ladder (https://leetcode.com/problems/word-ladder/) I think it would be wrong not to include a string problem. I think there are a lot of different ways to solve this one. You could use a trie or treat the strings as a graph. There are also a lot of optimizations you can make depending on the length of words vs number of words.

Honorable Mention. LRU Cache (https://leetcode.com/problems/lru-cache/). This may be the most common interview question asked at one point. Being able to execute a doubly ended linked list, leverage a dictionary, and implementing them all in a class with object oriented principles.

These don't cover everything, but give pretty good coverage of all the topics.

Hopefully that answers your question!

Oh this is good to know. I would recommend asking the recruiter directly if you passed HC.

For borderline candidates what they do is wait until a hiring manager is interested in your profile before moving to HC. They do this because if a hiring manager already wants you on their team, then your chance of passing HC increases.

In any case I think the plan would be the same to reach out to hiring managers and see who shows interest. I'd also ask any friends you have at Google if there are teams hiring at your level. It will be easier if you're experienced hire (L4 or higher)

Hi TreasonStar, so I actually went through a pretty painful team matching process myself. I had to wait 4 months getting turned down by hiring managers in favor of internal transfers.

Did your recruiters say that you had passed the hiring committee? If so, then your interview feedback is probably very strong. Even with the hints, Google decided you met the bar. I can't comment on what actually happened in the interview, but I suspect the delay on the team matching is not because of your interview performance.

Unfortunately all I can say now is that it takes time waiting. I was pretty picky with location so I had to wait longer. If you're concerned about the job market or looking to get a job soon then you can express to your recruiter you're open to more locations and also remote options (this would help if you originally said I need to be in X city).

Another thing you can do is look on LinkedIn for Google engineering managers that explicitly say they are hiring. You can reach out to them directly, inform them of your level and that you made it through hiring committee and ask if they'd like to connect. The recruiters don't know ALL of the managers hiring so this can help expedite the process.

Should I be willing to relocate to US for FAANG internship or it would be fully remote? If need to relocate, will I be responsible for paying flight tickets and lodging? > If companies have given you an offer to work in the US for an in-office internship, then will pay for any flights/relocation for you to get there. They will not explicitly pay for housing, but often will have some stipend to help with the housing costs. With any FAANG internship, you would be paid more than plenty to live comfortably. This way if you want to splurge on a nicer place you can choose to, and similarly you can choose cheaper options if you prefer. I think most companies will be doing internships in-office but it depends on the company. Are you thinking for this year or next year?

Submit resume directly to company website? > I would say never do this unless a recruiter said to do this after you set up a phone call AND they told you'd they set up an interview. Online applications are basically black holes so don't apply. Often times if you get filtered out automatically here, you can't apply again even through a recruiter directly.

Also, what is the best way to get accepted for FAANG interview for someone with no work experience? Connect with FAANG recruiters on LinkedIn and direct message them? > You'll want to add some experience to your resume. As a college student you don't need much. If you have any programming projects from coursework, you can put them on your GitHub (clean up the READMEs to make it look professional) and then put on your resume as "Open Source Programming". When you put "Coursework" recruiters don't take it seriously, so make sure it doesn't have "school project" written anywhere on it. They will never actually read the code so spend a good amount of time cleaning up the readme. Then update LinkedIn profiles to show the same thing. Once you've done this, then directly reach out to 25 recruiters per day. Recruiting is a numbers game so just keep reaching out. Even a 1% success rate means you get a phone call with recruiter every 4 days.

Maybe try to get some experience in other tech company before applying to FAANG to maximize chances? > If your goal is to go straight to FAANG, I think it makes sense to just start going for FAANG internships as a junior.

One thing that was not discussed here is actually preparing for the interview. Once you get the interview, you need to actually be able to pass. I'd say 90% of the time spent should be on grinding LC and studying technical concepts and only 10% recruiting after you're able to solve interview questions reliable (150 LC-mediums completed).

+1 to the comment on the resume funnels being a black hole.

The best option is to directly interface with recruiters. Recruiting is a numbers game at the end of the day. There are pseudo-infinite recruiters and a few applications for each company.

90%+ of students that go through our program get a job paying at least $100k within 6 months.
If the goal is to get a FAANG-level internship, then there's 2 parts.

1. Get the Interview 2. Pass the Interview

My opinion is getting the interview takes ~10% of the time and passing the interview is ~90% of the work. With this in mind, I'll

Passing the Interview.

To make life easier, you should use Python for coding interviews. It's a high-level programming language, meaning that the code looks more like English that others like C/Java. When you start Leetcoding, focus on doing the problems in Python.

For most FAANG internship interviews, you'll be asked Leetcode-style quesitons. This means to prepare for the interview you should spend most of your time solving problems on Leetcode and then once you've completed ~150 medium level problems (https://neetcode.io/ is a good place to start) then you should try and find ways to do mock interview. You can DM me when you get that point if you need help setting up mocks.

Before diving into LC, I would recommend studying the equivalent of a data structures / algorithms course. If you've already taken one, then I recommend reviewing all the concepts before diving into Leetcode.

When doing Leetcode, make sure to really understand each problem before moving onto the next one. It's ok to look at solutiosn or hints the first 1-2 times you solve a problem, but you should really digest what the key ideas are so you can solve a new problem that uses the same technique/

Getting The Interview.

If you've done any programming projects for your university coursework or on your own, make sure they are advertised on your GitHub and link them in your resume. Either way put them as "Open Source Programming" on your resume and list as many bullets and keywords as possible (e.g. Python, Machine Learning, AWS, GitHub, Testing, etc...). You might think it's cringe to add all the keywords, but recruiters scan resumes like a computer, looking for keywords. University internship recruiters will think this is really good, even though they don't know what you're doing. Put the same projects as experience on your LinkedIn as Open Source.

Once these are ready, directly reach out to 25 university recruiters at the companies you're looking to work at every day. Ask them to set up a phone call for you to learn about open role. Once you get on the phone learn about the company and ask how you can get started with the process. Even if only 1% respond, that means you'll get a phone call every 4 days. Keep doing this over 1 month and you'll get several interviews.

Answering your Questions

what should I focus on? Personal projects on my resume? Open source personal projects on my Github? You should take any projects you've already done for school or personally and put them on GitHub. Make it look professional with README and everything, but then focus on Leetcoding. Contributions to big and established OSS projects? This is nice but not needed. If so, should I dive deeply into a single project, or would smaller contributions to a few projects be more advantageous? Are there any specific projects / subject areas that I should focus on? What about commercial work experience (or the lack thereof)? It's not needed for FAANG internship interviews. How does all that compare to actual leetcode knowledge / algorithmic problem-solving skills? You just need to know Leetcode. Start by reviewing DS/A and then Leetcode until you've done 150 mediums. Any great resources for acquiring those? Leetcode.com, Neetcode.io, https://ocw.mit.edu/courses/6-006-introduction-to-algorithms..., https://coachable.dev are all great places to start :)

While it can happen, I'd say it's very rare that if a candidate does poorly on the LC interview that they would get hired at FAANG companies in the current hiring environment.

FAANG companies don't really have another better alternative to Leetcode interviews so that's what they go with.

So yes, most FAANG are married to leetcode interviews especially for SDE1/SDE2 roles.

Are you looking for positions in US/EU? OR are you looking to work at US/EU companies where you live now?

The main barrier would be the work sponsorship. If you've coding background it's likely that it'll be easier to get interviews than you think.

What is your current recruiting process like now? How are you applying to jobs and reaching out to recruiters?

I've talked a bit about this in other posts (https://www.reddit.com/r/IAmA/comments/vfzejn/comment/icysbk...)

Hi I totally understand the sentiment and this is a very common thought that I've seen people have about making the jump to FAANG. Just a heads up, my advice is in the context of getting SWE roles at FAANG companies.

First off, you definitely can make the jump to FAANG. You've gone through a PhD in applied ML. That's really challenging and at least in my opinion much challenging and impressive than getting an entry-level FAANG SWE job. Even if you don't know the core CS topics now, I doubt it will be that hard for you to pick them up. It will take some time to ramp up on them, but not too long.

To give more reference, if you were to go into FAANG with a PhD you would usually start as an SDE2 and earn 300k+ per year as a starting all-in compensation.

If you want to make a go into a FAANG SWE role, then here's what I'd recommend. My guess is the whole process would take ~300 hours so maybe 2-3 months if you do it 40 hours per week or ~5 months at 20 hours per week.

1. Learn to code in Python. You probably know a coding language (if not Python) by doing ML. Otherwise there are tons of free resources to get up to speed on Python (https://introcs.cs.princeton.edu/python/home/ is an example)

2. Data Structures / Algorithms. With your math background this should come quickly. You'll need to learn the bread-butter algorithms, the ones covered in every undergrad course on DS/A. Again there are tons of free resources online. Here's MIT's open source one (https://ocw.mit.edu/courses/6-006-introduction-to-algorithms...)

3. Practicing Interview Problems. Complete all the problems on here - https://neetcode.io/. If you don't understand a problem, study the solutions and google around until you do.

4. Mock Interviews. If you have friends in FAANG ask them to do a few mocks for you - this is what I did. Alternatively you can use pramp.com and interviewing.io to schedule some mocks. If none of these work, can DM me on hackernews and I can try and help set something up.

5. Recruiting / Getting Interviews. I've made several posts on reddit about this (https://www.reddit.com/user/coachdarek) but with a PhD all you need to do is ping 25 recruiters on LinkedIn per day saying you're interested in SWE roles. You'll get at least a few interviews lined up with 2 weeks. PhDs are hot commodities by big-tech. 6. Interview. This is the easy part, once you've got the interview skills and interviews setup, you just show up and do them. Make sure to have at least 6 interviews scheduled because there's a lot of variance in each interview.

If you have more questions, happy to answer and follow ups.

EDITED: To make the bullets on separate lines.

Specifically for big tech companies there wasn't much difference. But then again, most of the companies are American companies so I imagine a lot of the same interview culture was brought with.

Most final round interviews would have 4 rounds with 3 technical and 1 behavioral. The behavioral seems very similar in that you would discuss past experience and how you handled challenging situations, etc etc.

The technical rounds are where I noticed some divergence. In the US, I think there is a stronger focus on doing Leetcode and doing the LC problems quickly (FB asks 2 medium level questions in their interviews).

However for the EU interviews, I've noticed that typically 1-2 of the interviews will be more practical based with debugging, code review, design classes rather than just straight Leetcode. In a 5 round interview you may expect 1 less LC question and 1 more "general coding" for lack of a better term. It almost feels like the EU companies were interviewing like slightly smaller tech companies do in the states and have a slight preference toward practical coding skills.

That being said, there are still 2-3 LC-style interviews so it's a lot of overlap nonetheless.

Just clarifying the question here. Are you asking what percentage of applicants are rejected for soft-skills compared to Leetcode performance?

To give my best shot at this, I think I read that the behavioral interview at most big-tech companies had a pass rate of 90%+. This has given me the impression that if there aren't any blatant red flags (explicitly disrespectful, lied on resume, etc) then the majority of the decision will be placed on Leetcode performance. Most companies have an interview slot dedicated to behavioral questions, however Amazon has every interviewer do 10 minutes of behavioral questions which increases the chance of one of them finding something they don't like (with 4 more chances)

That being said, I would say that there is a component of soft-skills in Leetcode performance. This is less about "tell me when you were a leader" but more on a communications side of things. It's important as engineers to be able to effectively communicate ideas. This means that even if you can code the craziest Leetcode hard problems, if you can't convince the interviewer it works or they don't understand the solution, they would view that as a negative signal in a Leetcode interview. If I had to put a percentage on it, I would say 20% of the interview would be on how you communicate it. However learning the algorithms and problem solving is the majority of the challenge.

One caveat, I'm giving this opinion on the SDE1/SDE2 level. I imagine it's different for more senior and manager roles.

I'm a ex-Google SWE that's coached 300 through the FAANG interview process. AMA

My name's Darek Johnson and I run a company that's helped mentor over 300 to get FAANG-level SWE jobs for no upfront payment. I also used to work at Google.Thought I'd reach out and answer any questions you have about software engineering in general, preparing for software engineering interviews, how to get a big-tech job, working at Google, or anything else interesting.If you're interested you...

( Read More... | 29 comments | 13 points | on HN )
Also feel free to connect with him directly on LinkedIn - https://www.linkedin.com/in/serdardoruk/

GitHub Profile - https://github.com/serdardoruk

Here is the GitHub profile link - https://github.com/serdardoruk

Colleague looking for SWE roles with only math degree. Short notice

Hi HackerNews. A colleague of mine is in a bit of a pickle. He's got strong data structures/algorithm skills and has built several projects on his own.However, due to immigration issues he only has a couple of weeks to get an offer. He doesn't require sponsorship, just needs any job in tech.Do you have any advice for finding a role that can provide an EIN on short notice with his background?He...

( Read More... | 3 comments | on HN )
We've mostly been focused on getting candidates jobs within the US. We're working with several international candidates on how to get them jobs in the US. I've already begun conversations with lawyers to create an ISA that applies to roles outside of the US; mostly likely it will be similar but exchange rate adjusted.
The majority of general Google SWE interviewees rarely interface with a hiring manager; they're only interviewed by other engineers.
Yeah it sucked, but when I was living at home with my parents I had to put those things aside.
I agree, that's actually how I prepared. Unfortunately, most don't have the luxury to dedicate 30 full-time days. Many that we work with our university students with courses or full-time employees. This is why the 250 hours if a pretty big barrier to entry.
I'm not sure if those statistics are published, but FAANG companies drive all of their business decisions with data; recruiting shouldn't be any different.

> when you have 15/20 years of experienced, are you grilled, tested and probed like a junior?

We get this question a lot. We just worked with an engineer with 20 years of experience. He signed up for CodeBreakers because he knew that although he's a much more experienced programmer than I, he was aware that he needed help with the whiteboard interview if he wanted FAANG.

His Google onsite interview had 3 data structures and algorithm interviews, 1 system design, and 1 behavioral/leadership interview.

Junior engineers have 4 data structures interviews and 1 behavioral now. 80% of the interview is the exact same.

These are also the things that we are looking for most in CodeBreakers students.
Maybe are loopholes if someone wants to go find lawyers and pay enough legal fees. Thankfully we haven't had to deal with this issue as our students have been pretty satisfied.
250 hours is a lot of time!
I appreciate the kind sentiment. Interviewing and hiring the right candidate for a job is a near-infinitely complex problem. I mentioned in an earlier post that 5 hours to assess an employee's performance will have lots of false positives / false negatives. Is this the best way to interview? Probably not. If this style of interview can be a good predictor in a large sample size then maybe it's justifiable. I'm assuming the FAANG companies are doing it with lots of statistics backing it up.
I can't speak for other companies, but I can assure you that Google emphasizes extreme scrutiny that there is as little implicit bias as possible throughout their interview process.
Many who might be interested in CodeBreakers fear investing $8k and end up with nothing. That's why we offer the ISA option to work with everyone's budget. Candidates planning to use the service seriously to get placed are encouraged to choose whichever payment options that works best for them; that's why we have both options.
"Average" is the starting point. After learning data structures algorithms and how to communicate, they are no longer an average candidate (by FAANG standards)
Re: Domain

I know, I already got the domain so I didn't think of changing it -_- maybe down the road I will haha.

The curriculum has 3 main parts: data structures/algorithms which include a review of the frequently asked topics such as binary trees, linked lists, heaps, etc. This covers the theory behind them, but also how to use them in the context of interviews. As our students work through these topics, they work with a coach who acts as a private coach. Then it's mock interviews where experienced engineers give feedback and tips on how to improve. Lastly, we help with the recruiting process which can involve connecting students with engineers at other companies for referrals.

So far over 90% of our students succeed at getting a job offer. We rarely give up on students seeking jobs and we work with them until the are hired.

~70% end up getting a job paying >125k. Sometimes it's not FAANG, but still a really good tech company.

Our candidates come from very diverse backgrounds. Most have some CS or a STEM background, but the best predictor we've found is consistency; will you sit down and work through our curriculum consistently.

The difference is that you get a community/network of coaches and other students preparing for interviews as well as the structure.

I didn't buy techleads' but I've noticed it's been on a "limited time" sale since August. Looks like they just charge 1k for an online course with fairly little guarantee of results.

Thankfully it hasn't come up yet, but we're not in this to take $8k from someone and not help them. If there's a good reason why CodeBreakers wasn't a good fit and you paid upfront, we're open to discuss refunds.

Older »