10 ms·
Ask HN: If not fresh out of college, what did you do to join a FAANG?
Given the removal of the need to move to a High-COL area to work for a FAANG-type or FAANG-aspiring company with the rise in intermediate-to-senior level remote work opportunities for some of them, I feel that it might be possible to FIRE for more of us.
I've always been fortunate enough to avoid grinding LeetCode, telling myself I don't want to jump through those hoops (rotating a red-black tree on a whiteboard) and that I was happy enough at non-FAANG companies. I know that at almost all of these companies they will ask you LC medium (or even LC hard) questions. However, the death of a close friend has made me reevaluate whether I want to work until 65. Maybe retiring early or at least having the option to not work full time makes sense. I do know that you can still live a good life before you are retired, and I am guilty of "Groundhog Day" living like some of us are.
If you were not hired into FAANG out of college and were rusty on algorithms and data structures, what advice would you like to share on getting hired into FAANG? What did you have to do to prepare successfully for the interviews? How many "practice" interviews did you do? How much time did you spend every week? How did you maintain discipline during the grind Did you have a coach or some coach-type program? What books or courses would you recommend? Thanks for any input. Happy new year!
- baby 5y agoThe interview process is stupid: you’ll have to grind leetcode and other “system design” interview stuff.
- mrkentutbabi 5y agoThis is why I go to FAANG and live in high col areas and compete a hard as possible I forget how to live. I want to work for 10 years then go back to my origin country and just live a simpler life.
- ckdarby 5y agoHave you ran the numbers to just moving out of the high cost of living area? I've had a couple friends at FAANG run the numbers that even with a cost adjustment they were ahead moving to states with no state income tax.
- mrkentutbabi 5y agoI haven’t. It is a good idea to think about it.
- deleted 5y ago[deleted]
- daviddever23box 5y agoWhy the fixation on FAANG? There are plenty of opportunities out there, with large corporations, that would allow you to grow as a developer, learning useful production skills as you go.
- salil999 5y agoSome people just want a paycheck with low minimal work required. I worked at a FAANG and I can guarantee you that many people do not care much about growth and development. A lot are just there for big pay and less work.
- daniel-cussen 5y agoThe big pay and less work is a killer combination for both employee and corporation. Not only do you produce less code, which people think is an asset but is really a liability, you take more time to do so. Like the idea of ping-pong tables is parodied but it makes sense for profitable companies and in moderation. The employees have to be adults about it, use the ping-pong table specifically to accomplish work, to think. There's so many choices you could take, and the fewer you take the better, you just have to make sure you take the best choices. Mulling things over is good. Time spent on making decisions is time well spent, you could do it quicker but only with a dartboard. Maybe instead of spending an hour on the question and a year on the answer, spend a year on the question and the answer will come in an hour. As long as there's trust and a work ethic on both sides, it's very virtuous.
- finikytou 5y agonot really... I went to 10 different corporations and 1 FAAN. FORTUNE50, startups, finance, retail, software, electronics. there is nothing like faang. pros and cons included
- decafninja 5y agoI'm in a similar boat, though I am not in a FAANG, but in a company arguably on a similar tier. I agree 100%. If I have any advice for current CS college students, it would be to do everything possible to get into a FAANG or FAANG-like tech company. The monetary compensation speaks for itself, but all of the other non-monetary perks will also contribute to making your future career better, and your daily work more pleasant if not enjoyable. That's not to say FAANG is perfect - no company is. But no matter the ugly warts FAANG and similar companies have, most other companies (especially non-tech companies where tech is an unrespected cost center) are usually worse. Which leads me to my second piece of advice for college students - if you don't or can't make it into FAANG or FAANG-like companies, do everything possible to get into a company where tech is a profit center, or at least respected.
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- alpineidyll3 5y agoApplied.
- ProjectArcturis 5y agoI got a PhD, went into industry as a data scientist, started managing a small team, and then a recruiter reached out to me. Not surprisingly the management interviews are far easier and less technical. I didn't take the job. They did a geographical adjustment to the comp, and it was considerably less than I already made, and about half what levels.fyi had led me to expect.
- HWR_14 5y agoDo you mind me asking for more information on the geographical adjustment? Are you in a rural area, or just not in San Fransisco?
- ProjectArcturis 5y agoBigger Midwestern city. Cost of living is pretty low.
- BadCookie 5y agoI have struggled to reconcile levels.fyi and the salary ranges listed here: https://www.theladders.com/jobs/facebook-jobs https://www.theladders.com/jobs/facebook-jobs (A research scientist with a PhD in CS making <$100k at Facebook—what!??) Perhaps there is a big difference between getting hired in the Bay and moving later versus getting hired remotely from the beginning.
- ivanech 5y agoI don't like the way this document is written, but it works: https://docs.google.com/document/u/1/d/1eKirumpmwDWTtKCJKn2HuoQ2NavEfR41whmTyaQcio4/mobilebasic#id.f8o2mc9iua97 https://docs.google.com/document/u/1/d/1eKirumpmwDWTtKCJKn2H... I did what it said and got offers.
- spdebbarma 5y agoThank you! I appreciate this. I picked up software development to build my startups, but now realize that working at a FAANG has immediate benefits to me - financial and social; as well long lasting benefits - better opportunities, peer network, etc. I've been looking for something like this. I'd rather read this crass/vulgar document than a 250 page books on algorithms and practice leetcode without a direction. This also seems to be full of insider knowledge and your review makes me feel much more positive towards it. Here's to making this year count.
- wallflower 5y agoThanks for sharing this. I appreciate the honest and hard perspective. On a cursory look, it reminds me of Zed Shaw's guides to "Learning X the hard way".
- xiphias2 5y agoDon't worry about rotating a red-black tree, I love algorithms, I worked at Google, and as an interviewer I would never ask (or even memorise) something so complex. Now if it's reversing a binary tree (the famous interview question), if you don't love doing it, you won't love working with big data and complex systems. As for me, I loved being there working for 1 feature for half year as much as I hated working at small companies where new features had to be implemented every day. I think the latter is just better match for you.
- pixel16 5y agoStarted out has a contractor for one. And then was eventually converted to an fte after two years.
- prewett 5y agoHow does one find contract opportunities with a FAANG?
- SOLAR_FIELDS 5y agoI found mine via a recruiter on LinkedIn. Would suggest checking what sourcing agencies your desired company uses and reach out to those agencies.
- ditto64 5y agoGraduated '16 with a STEM degree. Opted against med school or doctoral studies, so instead took an IT job. Started scripting to fix common issues. Scripts became more like software and I transitioned to a dev job within the same company. Friend with a FAANG started a bootcamp service and I was one of the first students. Algorithms and mock interviews for 6 months before I landed a FAANG role. It was a grind, but worth it in the end.
- QuercusMax 5y agoGraduated in 2004 with a MS in CS and joined a company that I stayed with for 11 years. My titles were at various points Director and Fellow; I was the most senior engineer who touched code every day. Interviewed at Google in 2015. I basically went through all the exercises in Cracking the Coding Interview, and spent a bunch of time relearning all the stuff in my Algorithms book that never really clicked when I was 20. I probably spent a month study all told, and I passed the interview to get hired as a Senior SWE. Had some graph questions, and honestly I've had to do a fair amount of graph related stuff at Google, so it's not a bad thing IMO.
- david-gpu 5y ago> My titles were at various points Director and Fellow > I passed the interview to get hired as a Senior SWE Maybe I'm unfamiliar with Google levels, but that sounds like a demotion from Director or Fellow. Did it feel that way?
- Jensson 5y agoA senior at Google earns much more than many directors at non-prestigious companies, it is only a demotion in your head. See for example technical director salaries at AT&T. https://www.glassdoor.com/Salary/AT-and-T-Technical-Director-Salaries-E613_D_KO9,27.htm https://www.glassdoor.com/Salary/AT-and-T-Technical-Director...
- rhexs 5y agoWhile AT&T doesn’t pay well, that doesn’t sound right for a director there. I know friends making about 140 who are relatively junior developers.
- QuercusMax 5y agoMy previous position was more like L6 in terms of responsibility, but the pay was much better at L5 than I was getting before (but in a totally different market). I work with someone in BD now who used to be the CEO of a company, so I don't feel too bad :).
- clintonb 5y agoI'm not a fan of LeetCode since it doesn't give much signal about the ability to do the actual day-to-day job. I did not pass the interviews at Amazon, Facebook, or Google because I don't "grind" LeetCode. I worked as an engineer for about eight years before applying to Stripe. Stripe's interview questions resonated with me because they were more grounded in real-world problems. I hit my four year anniversary in early 2022.
- decafninja 5y agoI'm curious what kind of questions Stripe asks. I've encountered "practical" interview problems at various places also, esp. for frontend roles. But while not leetcode, many of them were things you still wouldn't code up in daily work - at least not serendipitously from scratch in 20-40 minutes with little to no references available. My solution to this was...also grinding.
- clintonb 5y agoHere are the broad topics. Some of the questions are floating in public, and have been replaced, but the general idea remains. - Debug an issue in a library - Balance bank accounts - Design a scalable system, and discuss the trade offs - Integrate with an API
- filoleg 5y agoCan confirm that I had a very similar vibe from Dropbox interview process (got the offer, but chose a different offer for reasons that have nothing to do with Dropbox). Grinding leetcode wouldn’t have helped much beyond basics for the coding portion of the interview. The problems were extremely practical, but also not “dirty” (so not like where you are given something like a React project, and asked to build a website doing XYZ). It was more like “here is a general problem (let’s say, process scheduling algorithm for a hypothetical OS; not the problem i got, but similar in concept), here are the methods the class needs to implement. What are the approaches? Which one you would go with if you prioritized memory? What if we prioritized speed instead? Are there any other helpful methods that the class might need?”. And it essentially boils down to conversational decision-making on implementing a feature that is very similar to how it is done in a real workplace, not as a leetcode problem at all. And yes, you still implement it in leetcode, but grinding leetcode will only help you with the very basics, and it can imo be totally passed without leetcode grind. The non-coding interviews were also very well thought-out (in comparison to the typical FAANG process). Systems design was a delight, and the deep dive interview (where you pick a project you worked on before ahead of time, write a few sentences about it, and then when the interview comes you dive very deep into an aspect of it and get grilled with questions on it) was very meaningful and useful. Overall, i can definitely recommend interviewing with Dropbox, and it was a very difficult decision for me to not take that offer, as I got extremely good vibe from both the people i interviewed with and the company overall.
- caw 5y agoI read Elements of Programming Interviews rather than do LC questions online. That book has a few flavors for popular languages—-just level up on the language you know best, don’t try to learn a new one. I spent about a month covering the book, and then grokking the systems design. It’s not so much the knowledge as the familiarity with the interview format and expectations (ask clarifying questions, explain your reasoning). The company I ended up joining had an opportunity for a mock phone screen interview, which I took advantage of. It was roughly a LC easy but covered the format and gave me some feedback on how I conducted myself.
- mlcrypto 5y ago
- whoknew1122 5y agoThe question is what do you want to do at a FAANG? Do you want to be a software developer? Leet code might help. But as a infrastructure, architecture, and security person I've never been asked a single coding question. It's all about the above mentioned topics. The fact I can sling a little code is just a value add. If you are interviewing with me, you won't be asked about an algorithm; you'll be asked about SAML and the differences between IdP initiated and SP initiated login flows. So what do you want to do? Make sure you have a few projects and can speak to those experiences.
- arbitrary_name 5y agoConsulted for them and then accepted the offer to interview. Comp was meh but the perks and experience made me sign. No regrets thus far. Not a coder/dev, for what its worth.
- cletus 5y agoThe most important thing here is if you're asking this question right as you finish college and this is your goal, then you're screwed up. Why? Because resume-building for high-profile employers begins long before graduation. Probably the most important factor: internships. Getting an internship is the highest-probability way of getting an offer bar none. If you don't have 1 or preferably 2 internships under your belt then you've made a mistake. The second is that passing interview loops is a skill. It's one that can be studied for, learned and practiced. And if you're serious about this then you should do that. Many recommend CLRS [1] as a source for this. Personally, my choice would be Skiena [2]. Go through all the chapters on sorting and searching, lists, trees, graphs and possibly dynamic programming (some employers use this in interviews, some don't). Backtracking is useful but I've never seen it in an interview. Do the same problems on an actual whiteboard. Don't just think about it. Get comfortable enough with any popular language (eg Javascript, Python, C/C++, Go, Java) such that the syntax and common libraries are second nature. It's not unsalvageable to do this at the end of college (if that's the case). You just need to commit a few months to it. Some will ask "why FAANG?" and the answer is obvious: the money can be life-changing but even aside from that it's an opportunity to learn a lot and having that on your resume is amazing social proof that will quickly eclipse the value of going to a top-tier school. [1]: https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844 https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press... [2]: https://www.algorist.com/ https://www.algorist.com/
- qbasic_forever 5y agoInternships really don't matter for anyone past a junior role. Direct employee referals are what will get you looked at by a recruiter and called up for a technical screening. After that it's purely a matter of how well you perform in the interview. I can guarantee your education is only give the most cursory glance. If you're 10+ years into a career I wouldn't even bother to list internships on resume anymore, there is likely far more impactful stuff you can use that space for on the page.
- filoleg 5y ago> internships really don’t matter for anyone past a junior role I think the grandparent comment isn’t claiming otherwise, which is why it essentially says [paraphrased] “if you are finishing college right now, internships are the most important factor in getting that full time offer when you graduate”.
- psyc 5y agoContract to hire. Easier initial interview. I still had to do a full FTE interview afterwards, but I had the extreme advantage that everyone on the team had already made up their mind. So some of them lobbed softballs, especially the manager.
- SOLAR_FIELDS 5y agoThis is how I did it - though it wasn’t “to hire”. I was part of a wave of 30 or so contractors and I kicked ass during my contract and made some internal allies (most importantly the hiring manager) who pushed to get me on as an FTE. The interview questions and panel were subsequently set up for me to succeed.
- wallflower 5y agoCongrats! That is an interesting route to have a months-long "interview". I am assuming contract-to-hire is even more rare than QA-to-software engineer (only know of 2 personally who have done that).
- kaycebasques 5y agoI worked at an internet of things startup for 3 years. Note that my profession is technical writer, not SWE. Google recruited me and I told them to check back in a year because I was learning a lot at the startup. Sure enough they did follow up after a year. At that time I was ready to move on.
- latte 5y agoHere is my story: - got an applied maths / CS degree in the beginning of 2000s, followed by a non-STEM master's degree and almost 10 years in a non-tech career - burned out, quit job - spent about a year working on pet projects and (re-)learning programming, then a couple of years on a startup with co-founders (which didn't gain much traction) - moved to a different country for a developer job. I didn't want to ask my old connections for recommendations, so I just took an offer from a small company that found me on Monster or something similar - after a couple of years, things at the company became worse, so I started looking for a new job. By that time, I had a circle of friends in the new country, some of which worked at FAANGs and asked me if I wanted a referral. - I had remembered most of the theoretical stuff needed for LC interview from my CS course from 15 years ago, so I just needed to refresh it, cover the topics I didn't know and have some practice. That took me about a month or two of weekends, evenings and lunch breaks. - I was so frustrated with my job that I took leetcoding as a pleasurable distraction - I didn't really need anything to maintain discipline. The country was in lockdown, so I didn't have much else to do anyway. - the whole process from deciding to change jobs to getting an offer took about 4 months. I interviewed at around 5 companies, got 2 offer (one FAANG and one non-FAANG) and decided to take the FAANG one instead. Not sure if this job is a viable road to FIRE (and not sure if this concept is for me at all) but I like it so far.
- colordrops 5y agoAfter working at mediocre companies and failed startups for the first 20 years of my career I got a job at a smaller company that is famous for being highly selective and achieving amazing engineering feats and worked there for several years, then followed the wave of coworkers to FAANG when I wanted to hang out with my kids and work less than 85 hours a week. Having several ex-coworkers that trusted me at the FAANG def helped getting in. I can't answer most grindy Leetcode questions at an interview.
- Onewildgamer 5y agoWhat, 85 hours a week? Tell me that's just a joke
- colordrops 5y agoIt's not unfortunately. And I worked there 6 years. But I have great memories and a lot of great experience from the gig.
- Lamad123 5y agoI don' know if you'd ever be quizzed on"rotating a red-black tree ", but you might be asked to verifying if a binary tree is balanced, which seems like a fun exercise. I used to hate leetcode and the like!!
- david-gpu 5y ago> However, the death of a close friend has made me reevaluate whether I want to work until 65. Maybe retiring early or at least having the option to not work full time makes sense. I do know that you can still live a good life before you are retired, and I am guilty of "Groundhog Day" living like some of us are. After grinding for years and finally becoming financially independent, my advice to people considering the same is: don't. Instead, focus on making small improvements to your daily quality of life. From sleep, to exercise, to diet, to finding a project/team/company that is aligned with your personal enjoyment. Try things out and stick to whatever works for you at the moment. The reason for this is that becoming financially independent is not going to magically make you a happier person, it just gives you more free time. If you were bitter and joyless from years of keeping your nose to the grindstone, once you retire you will just be a bitter and joyless person with extra free time to simmer in your own misery. Happiness happens today, not some distant future.
- adflux 5y agoLove that last sentence!
- ckdarby 5y ago- Focus on quality of life improvements with existing control - Start experimenting for happiness. I only in the last two years found out how incredible I feel stopping coffee at 1 PM and waking up before 6 AM. - Financial independence can make you happier because not only does it give you more time it can also reward us by not needing to do things we don't want to do like house cleaning.
- Jensson 5y ago> After grinding for years and finally becoming financially independent, my advice to people considering the same is: don't. > Instead, focus on making small improvements to your daily quality of life. From sleep, to exercise, to diet, to finding a project/team/company that is aligned with your personal enjoyment. Try things out and stick to whatever works for you at the moment. You can do all of those while working at FANG. FANG is the best way to get peace of mind, you make lots of money for a modest amount of work so can focus on other things. If you get into a toxic team at Amazon then sure you trade stress and happiness for money, but the others aren't like that and are harder to get into for a reason.
- unoti 5y agoI was hired at Microsoft several years ago. I do not have a college degree, but had many years of experience in software development. Here is what I did to prepare. I read Skienna's Algorithm Design book, and actively coded many of the things in there. Then I spent weeks practicing on a whiteboard, actively talking out loud through the problems. (These days you're basically not going to need to use a whiteboard, but you should practice talking out loud while you work through the problems in a text editor.) I identified the kinds of problems that gave me the most difficulty, and for me that was things involving dynamic programming. But you should be well versed with graph problems, how to attack problems involving recursion, and so on. I practiced for weeks or months and thoroughly immersed myself in it. Different people would likely need to practice less. Practice enough to transform your though process from "I'm nervous" to "I've trained for this." I probably over prepared, but I'm the kind of person who would rather show up too early for an airplane flight than to endure the stress of maybe missing the flight. Also whenever I do a long talk, I spend an embarrassing amount of time preparing for it. But if you take weeks or more to prepare don't beat yourself up about it. And keep in mind that if you don't get the job it's not the end of the world. You can come back and interview again. In short the only way you can fail is to give up. Another very useful thing to do when preparing is make a list of stories you'd like to be able to tell. Little 1-2 minute stories of different important things that you have done. Rehearse telling those stories. When you look at lists of common behavioral interview questions ("tell me about a time you convinced your team to do something" etc.) think about which stories you would tell to answer such questions. Good stories will have several kinds of questions they can answer; during the interview, look for opportunities to tell some of these stories. This is a trick that a top sales person taught me, and has been very useful to me. If you're transitioning from one kind of technology to another, and the job you're shooting for requires experience in a field you have no experience in, then do some work to prepare a portfolio you can point to. For example, when I made the transition into an AI job that required demonstrated experience with machine learning, I spent a good amount of time preparing a portfolio of work I could point to. Many people spend a lot of time talking about how it's useless to jump through these hoops to get a FAANG job, and how broken the process is. Do not distract yourself worrying about this; if you want to land the job you need to go prepare. While needing the actual knowledge is somewhat debatable, it's good to be able to demonstrate that you're the kind of person who can dive in to hard-to-learn things and get the learning done. Because once you get the job, you're going to be diving into hard-to-learn systems that you won't know anything about.
- edmundsauto 5y agoI was hired via the pure luck route. A recruiter contacted me on LinkedIn, and I went through the interview process blind. I guess I did well enough - one thing that helped was the certainty that no way would I take this job, regardless of the interview. I was only doing the interview due to family pressure, so I felt no personal pressure (I had my dream job, at 25% the pay rate, lined up and was ready to move across the country for it). I'm in my late 30s, have a CS degree, started a company that was acquihired, have pretty diverse experience in my career. That, plus a storefront-only consulting site I built to have a 'presence' seemed to get my foot in the door. Once there, the advantage I think I had was 1) not nervous, and 2) able to think about the problems presented, rather than just trying to solve them directly. By that, I mean that I showed the interviewers how I was able to think - and I asked for help / collaboration when I was stuck.
- xen0 5y agoI graduated University with a Bachelor's degree in Maths and Physics. I 'accidently' landed a job as a Software Dev with a small amateurish company near my parents home. Passing their job interview basically required that I could write coherently and pass an ancient IBM 'logical thinking' test. I was there for 18 months. Prior to this, my programming experience consisted of two terms of Pascal programming pre-University. After this job, I joined a research company that actually knew something about software, if not money. Here I got most of my relevant experience, and after 5 years decided I should get a new job. I wasn't targeting FAANG, but I did interview at Amazon and Google. My prep was largely some time on HackerRank and similar sites, probably totaling less than 20 hours. I likely spent more time preparing for Amazon's leadership questions. I did no practice interviews, but did fail Amazon's on-site (and a few others). I do, however, do Advent of Code every year. This was probably the single largest aid in getting me past Google interview. I felt like I was a bit lucky with respect to the interview questions I got, but I think most people who pass feel that way. And anyway, the more you do prepare, the more likely you are to be lucky. ;)
- 908B64B197 5y ago> Given the removal of the need to move to a High-COL area to work for a FAANG-type or FAANG-aspiring company I don't really like nor understand this Col thing. Most of what's used to derive such metric is the cost of housing... except when you buy a house you are also building equity in it (and you get the cash value plus capital gain when you sell). It's just disguised compensation.
- enigmatic02 5y agoJoined a high-growth startup, got promoted quickly, then FAANG came knocking. Interviews were surprisingly easy because I had so much experience interviewing other people at the startup, and plenty of stories to share Here's a list of high-growth startups for those looking: https://topstartups.io/ https://topstartups.io/
- thewebcount 5y agoI ran my own business for a while. It was difficult and while it only had one year out of five that it actually lost money, it barely made enough to pay me enough to live. It was very stressful. However, during that time I sold products (and programming services) related to my field (video and image processing). I did my best to help other developers (some who could even be considered competitors). I posted to email lists of users, mostly with knowledge about the field in general and being very careful not to try to push them towards my company’s products because I didn’t want to come off as a shill. Eventually, I decided that it wasn’t fair to me or my family to keep working so hard for so little return. I started looking for jobs with other companies and by luck there was a position that opened up on a team that was directly related to my skill set. (I had written some plugins for their product, in fact.) I had interacted with a few of their engineers on the various email lists I was on, and had even interacted with their QA once or twice when dealing with some issues with my plugins. I was able to get one of the engineers to pass my resume on to the hiring manager and eventually got the job. While it’s hard to know for sure what the deciding factors were for them, I believe these things helped: 1. Being knowledgeable in the field 2. Posting helpful content for users and other developers and not worrying about whether I’m helping a competitor or going to make a sale 3. Getting to know an engineer or two on the team
- mooreds 5y agoNo personal experience, but a reader on my site wrote a post about this: https://letterstoanewdeveloper.com/2020/12/21/interviewing-at-a-faang-in-the-midst-of-covid/ https://letterstoanewdeveloper.com/2020/12/21/interviewing-a...
- fbftethrowaway 5y agoI’m a Midwest dev w/ 8 YOE at non big tech who got multiple FAANG+ offers last year. I wrote the below guide for friends interested in following the same path so I’ll just post it here. Took about four months of studying ~2 hours daily. 0. Total Compensation (TC) Compensation data: https://www.levels.fyi/ https://www.levels.fyi/ Get the app Blind and start browsing it daily. People regularly post their offers, and it is the most up to date info on the market. It’s an anonymous forum where your company email is verified. You can DM employees of target companies for referrals or information about roles. 1. Leetcode (LC) Buy a yearlong Leetcode premium subscription and do all the modules listed here, in no particular order, but skip decision trees and machine learning: https://leetcode.com/explore/learn/ https://leetcode.com/explore/learn/ When you are done with that, do all the problems on this list: https://www.teamblind.com/post/New-Year-Gift---Curated-List-of-Top-75-LeetCode-Questions-to-Save-Your-Time-OaM1orEU https://www.teamblind.com/post/New-Year-Gift---Curated-List-... A lot of these problems are on the modules linked previously, so you will only have 30-40 new problems here Next, do random problems until you "see through the matrix." Focus on medium level problems. Try to do something like 35% easy, 50% medium, 15% hard. If you can't find the optimal solution to a problem, "upsolve" by reading a bit of the solution and trying again. If you still can't get it, copy the code of the solution and study it. Then erase it and try to solve it from memory. Periodically go back over solved problems and re-solve them while taking notes. Your goal should be to solve two random LC mediums in ~35 minutes. Consider using Python as your interview language if you are comfortable enough with it. It's faster than Java for writing. Some places will have you run the code, others it will be a glorified whiteboard, so don't use the run button as a crutch. Around two weeks before your interview, start doing company tagged problems like: https://leetcode.com/company/doordash/ https://leetcode.com/company/doordash/ Start doing this part first and grind it hard. It might take 3 months, it might take a year. It takes as long as it takes until you think you can crush it. I spent around 2 hrs each day in the morning on LC. 2. System Design If you are being considered for senior level roles, this will be by far the most important part of your interview as far as leveling. If you are shaky, they will downlevel. Buy DDIA: https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321/ https://www.amazon.com/Designing-Data-Intensive-Applications... Read it more than once. These courses on educative.io are useful: https://www.educative.io/courses/grokking-the-system-design-interview https://www.educative.io/courses/grokking-the-system-design-... https://www.educative.io/courses/grokking-adv-system-design-intvw https://www.educative.io/courses/grokking-adv-system-design-... These videos are also really good: https://www.codekarle.com/ https://www.codekarle.com/ Tech talks on Cassandra/Kafka and stuff like that are good. Videos are the best last minute prep before interviews for design. 3. Companies Amazon tends to be easier in terms of LC problems but ask more behavioral. Amazon also has a reputation of being stressful and pay is not at the level of Meta/Google, though that might be changing. I would do this interview first since it’s good practice for getting behavioral stories real sharp. Google is way slower than these other companies, so if you wanna consider them, get the process started as early as you can. If you are interested in remote, also consider Zoom, Square, Twitter, and Coinbase. 4. Applying Get referrals wherever you can. Most places will ignore you unless you have them. I applied to probably 25+ companies and got rejects or ignored for all but Uber and AirBnB. Places I had referrals to I scored onsites for 100% of the time, including places that rejected me before a referral. You can get referrlas off Blind. I didn’t do this, but I guess it happens! You probably also have people somewhere in your network in FANG and top tier companies if you look. If people think you have a chance of passing they’ll be happy to refer. Referral bonuses are several thousand dollars. Ask them for mock interviews as well. 5. Interviewing The process is recruiter call -> "phone screen" (do an LC problem on Hackerrank while on a zoom call) -> "onsite" which is 5 hours of zoom...usually 2 coding, 1 behavioral (maybe a small coding question as well), 1 design. Do mock interviews with friends/colleagues for LC problems. I had 3 different people give me a total of 6 mock interviews. You can also pay for this with different companies like interviewing.io or randoms off Blind. Getting mock interviews for system design is harder, and you might have to pay for it. I did and it was the best money I spent that year. Also for interviews you can interview over 2-3 days after 3pm PST to avoid taking time off work if you’re not in PST. Recruiters will let you push back interviews for any reason multiple times, especially if it's for more interview prep, so if you aren't where you want to be before one, it's totally fine to ask for more time. 6. Negotiating You should try to get all your interviews lined up very close together to get competing offers, especially if you want Google, who tends to lowball candidates that do not have competing offers.