Let me start by saying "grapes are sour". The leetcode style coding tests hate me. I did prep 15-20 days and failed couple of phone interviews. Then stopped interviewing although recruiters keep contacting me. I'm just so afraid now of failing yet again. On the contrary, I hate the fact that they ignore all the experiences, achievements, contributions, etc. And place fresh grads, engineers, researchers, all in the same boat by asking leetcode style questions. No offense to the smart and young fresh grads. I've known colleagues who prepared 200+ leetcode questions and cracked interviews at Google, Apple, FB. But I'd rather enhace my skills in ML, AI, deep learning, ... so much to learn.... than prepare for trick coding techniques, 80% of which I will never use. Or are those coding practices helpful at work? I am decently good at data structures and think/write optimized coding. But I am not a top coder. Thoughts?
Tldr; bite the bullet and prepare, till you think you need to. I was in the same boat as you last year. The only difference was that I tanked way more than 2 phone screens before I stopped interviewing. Used to have exactly the same feeling as to why should I practice these leetcode kind of questions if I am never ever gonna use that in real life. I stopped interviewing and joined a startup where they didn’t ask me such questions. But tbh That experience made me feel like I am lesser of an engineer coz I was not able to crack a single big company. Around 3 months back, my startup started going through some tough times. They laid off a bunch of people and started focusing only on a fee products which I was not a part of. I planned on started interviewing again. This time I thought that I will not make the same mistakes as last time. I bit the bullet and made leetcode my friend. It was frustrating at the beginning but now I am at around 300+ questions on leetcode + EPI + some other similar websites. Please read “Get that job at Google”. It inspired me a lot. This time I didn’t think about the fact that this is kind of stuff I will never be using in real life. Instead, I focused on the fact that learning new algorithms definitely enhance my problem solving skills, make me learn better ways to solve a problem and make me a better programmer in general ( maybe by a very minimal factor ). Also, I focused a lot on system design. System design interviews are way more common now a days and this is the kind of stuff you DO use in your real life. Studying for system design interviews was the most fun part for me. It enables you to dive into so many technologies, pros vs cons of those and lets you decide when to choose which one. I read so much about high level designs of almost every product out there. I can definitely say that preparing for my interviews has made me a better engineer. Also, as you asked about culture fit. Many companies now emphasize superbly on that. I interviewed with a company which had 4 behavioral rounds along with 3 technical. And one other where every interviewer asked some cultural fit questions before diving into the technical one’s. So I don’t think companies now a days are ignoring that aspect. With that said, fast forward to today .. I have appeared for 3 onsites this year, got offers from all of those. These were my end of tier 1 / tier 2 companies. But I also have onsite interviews with the tier 1 companies next week. Please read “Get that job at Google”. Might change your mind.
Thanks for your detailed response. I will read it, maybe I'm being stupidly rebellious.
This is inspiring to read. Thanks for sharing!
Cracking the coding interview then leetcode style questions. You'll be golden
I always wonder how engineers at 40 years old feel when they have go through this kind of bs interviews again
Companies use leetcode questions because it’s easier to align the bar. Otherwise, how do you measure experiences, achievements, contributions for candidates from different companies. ML, AI, deep learning makes no difference. I know some DS asks KKT conditions and only who knows it can pass his interview. I personally don’t like leetcode either. I usually ask candidates to implement a class in real use cases.
Well, by matching requirements to candidate's skills. The leetcode style coding tests are fit for the fresh grads. If you want experienced people with certain skills, you judge them and compare them by which prior experiences and skills best fit your requirements.
But how can you measure the experiences and skills? For big companies, most systems are internal and it’s hard to measure the candidates’ ability to learn. The candidates who exaggerate their contributions always get unfair advantages.
The flagship companies mostly need interchangeable parts. They are piling up parts just in case someone leaves.
This.