19 ms·
Tech Interview Handbook
- rvz 7y agoWhile this is very good to study before a technical interview, over time however I can see that this alone is going to make it 40x harder to differentiate say 100 candidates that are all perfect at interviews in general, that we are going to start asking ridiculous Oxbridge-style interview questions and expect perfect scores to advance 'good' candidates. Perhaps companies will start asking candidates to construct mathematical proofs of data structures, algorithms, formulas and common equations from university-level entrance examinations just to do a mobile app or a web dev job. As soon as that happens, the 'ideal candidate' companies will be expecting to interview would be a very prodigious candidate, former math Olympiad champion and decorated with titles and research papers in their name. You guessed it: 𝔜𝔢 𝔬𝔩𝔡𝔢 𝔩𝔢𝔤𝔢𝔫𝔡 𝔬𝔣 𝔶𝔢 10𝔵 𝔡𝔢𝔳𝔢𝔩𝔬𝔭𝔢𝔯.
- seanmcdirmid 7y agoYes, basically Goodhart’s law generalizes to standardized tech interviews.
- deleted 7y ago[deleted]
- chrisseaton 7y ago> Perhaps companies will start asking candidates to construct mathematical proofs of data structures, algorithms Perhaps we’d produce better software if people prioritised correctness like this in practice!
- rvz 7y agoPerhaps so. Those sort of questions would benefit a company working at the scale of FAANG or Microsoft and actually tackling or researching real computer science problems. Now would this make sense for a graduate entry level role for a web / mobile app developer position? Interviewers looking for such candidates need to lower their expectations a bit in for positions like that.
- codingslave 7y agoTwo outcomes for the technical industry: 1.) Everyone is studying these problems all of the time and they finally disappear. 2.) Other outcome is a dystopian field fueled by a race to the bottom where everyone is practicing algorithms problems all of the time. If you read the blind forums, some people are completing 500-1000 leetcode problems before heading into interviews. I'm putting my money on number 2, which is where we already are. Can only imagine what this is doing to code quality...
- deleted 7y ago[deleted]
- triceratops 7y ago> Can only imagine what this is doing to code quality... Why would studying algorithms and data structures affect code quality? They would similarly be able to learn to write quality code once they're inside the company, no?
- _hardwaregeek 7y agoBecause you get the college applications problem, where you stop getting the people who have a real passion for programming and coincidentally have problem solving and algorithms skills, and start getting people who are really good at problem solving and algorithms and may or may not have a passion for programming.
- triceratops 7y ago> start getting people who are really good at problem solving and algorithms and may or may not have a passion for programming. Why is "passion" so important? And what even is passion? For professionals in every other field, competence, ability to deliver results, and getting along with people, are what matter. Many pros are passionate, in the sense of loving their work, but passion isn't a prerequisite for being a pro.
- povertyworld 7y ago
- deleted 7y ago[deleted]
- yumraj 7y agoGiven the current state of tech interviews, they have more or less become like standardized tests, such as SAT, ACT, GMAT, GRE... with guides, cheat sheets and perhaps neighborhood coaching institutes on the horizon with instructors who have cleared tech interviews in FAANGs. Are we going to see tech recruitment become more and more like college admissions where a top score in the interview is just one of the criteria and no longer sufficient to get a job? Perhaps next is asking people to write essays regarding career, goals, why they want to work their, extra curricular etc..
- risubramanian 7y agoYou joke, but I've seen several applications where I've been asked questions like "What achievement are you proudest of?" and "How would you contribute to the diversity of our team?". Also cover letters cover some of this. Actually, I wouldn't mind a standardized test like the GRE, where a good score might actually keep your resume from getting thrown out immediately.
- sweetheart 7y agoMaybe I stand alone in feeling this, but I don't see those questions are absurd during an interview. Especially at smaller startups, where early hires are going to be interfacing heavily with the majority of other employees. Maybe this should be filed under things that comprise "culture fit", but I also think it's different than that.
- chucksmash 7y agoI think it's a little odd to ask directly. If you are evaluating an interviewee for "culture fit" as in your example, would you directly ask them "how would you fit into our culture?" or try to evaluate their thought processes, demeanor, etc to determine it for yourself? Perhaps it's just the context from which this conversation arises and it wouldn't strike me this way otherwise, but asking these questions directly feels a bit too much like college application boilerplate to me. If a team wants to prioritize a diversity of perspectives, I feel the team should spend the interview trying to understand my perspective, analyze how that compares to their own perspectives, then synthesize the answer to the question themselves rather than just adding a "How will you contribute to a diversity of perspectives?" question.
- nharada 7y agoSome of these "questions for the interviewer" are very good. In particular I like some of the "tell me the negatives" ones: > What is the most costly technical decision made early on that the company is living with now? > What is something you wish were different about your job? > What has been the worst technical blunder that has happened in the recent past?
- cactus2093 7y agoThese are good questions, I like how they are phrased so concretely instead just asking “do you have a lot of tech debt?” They’re interesting for getting to know the team and getting a piece of insight you usually wouldn’t have until a few weeks into the job. But I would be careful how you interpret these. In fact I would almost factor in these answers in the opposite way of what I think you intended. The company that admits to the worst technical issues is at least honest and self reflective. The company that doesn’t admit to any serious issues might be just as bad or worse, but their strategy is to tell employees to lie about it rather than be open to addressing it.
- kthejoker2 7y agoHaving hired dozens of devs, I can confidently say there is absolutely 0% chance to consistently successfully identify good developers in any reasonable amount of interviewing / assessment time period. The best way is someone brings in an existing code portfolio and discusses it. The second best way is someone completes multiple design and development exercises of varying complexity, constraints, and use cases. The third best way is they complete a single exercise and provide commentary on alternative designs. There is no fourth best way; all other approaches are essenrially stochastic and select for interviewing traits not development traits. The actual best method I think is a 3 month probationary period which is more or less an extended interview. They're asked to contribute to existing codebases, participate in code review, go through some architecture design sessions, conduct stakeholder interviews - things that again are mostly impossible to accurately gauge in a typical candidate assessment window. By the way a tremendous book for interviewers and hiring managers is How Judges Think by Richard Posner. A lot of it applies to hiring, and he's a great writer.
- triceratops 7y ago> The actual best method I think is a 3 month probationary period which is more or less an extended interview Most states in the US have at-will employment terms. Probationary periods are common in other countries. And yet no one seems to want to do what you're suggesting.
- UnpossibleJim 7y agoThe problem is, most companies in the US want to hire you on as a Contractor and not a full time employee for those three months. I can't speak for everyone (but most folks, I assume), but I need medical and dental. I can't go three months for the chance of maybe getting it. I can't do it personally and i can't do that sort of thing to my family. there are other options in other countries (depending on the country). I'm a centrist by nature, but this makes a "three month interview" untenable, IMO.
- triceratops 7y ago
- DavidWoof 7y agoI realize everybody's going to jump in and rant about algorithms in interviews, but I wish you'd all add something constructive as well. I just had to conduct a round of interviews in a non-SF large US city, and it was a hellish crapshoot. Resumes are meaningless, and often re-written by recruiters to match the job anyway. Everyone has the same canned answers to the stupid behavioral questions. And as for the code, we included what we thought was a trivial nested for-loop problem and virtually nobody could even get started on it. Is this kind of code problem too complicated in your opinion? For all I join in when complaining about irrelevant algorithmic questions, I have to admit that they at least test something, even if it's just willingness to study for the interview. Instead of reading everybody's complaints about interviewing, I'd love to hear how you think it should be done. Because I have to admit I'm pretty much lost right now.
- ale22 7y agoHow much were you paying for these positions?
- DavidWoof 7y agoSlightly above market rate for the area, all in the low-to-mid six figures.
- ale22 7y agoLike $110k-$150k?
- numakerg 7y agoWas this a position where they were expected to write code? I'm surprised that developers making six figures couldn't solve a problem that an interviewer considered trivial. Any chance of a sample or maybe an alternate version of the problem?
- deleted 7y ago[deleted]
- jiux 7y agoI once interviewed at a startup for a senior engineer position and was asked “if aliens came to Earth and asked you to go into their UFO with them, would you?”... As much shit as we give white-boarding, I would have chosen it instead if it were an option.
- glandium 7y agoWhat's the point of hypothesizing on things significantly less likely than someone winning the lottery (edit: while being hit by lightning, for good measure)? In fact "what would you do if you won the lottery" might actually give more interesting insight.
- xtracto 7y agoAt one time i was asked "why do frogs croak? I gave a series of answers like: to attract the opposite sex, gave some biological explanation of how they achieve that. But the stupid interviewer kept asking me why? Needless to say after the interview ended i ran away from that deal.
- ixtli 7y agoWhat if people not being able to answer simple programming questions is a problem with the interviewers, and not the interviewees?
- maehwasu 7y agoThis is one of those ideas that sounds really sophisticated, but is just wrong. The fact is that there a tons of people out there representing themselves as programmers who actually can’t perform basic tasks. The HN population massively selects for competence, so people here have a hard time imagining what things are like from the interviewer side.
- mixmastamyk 7y agoNotwithstanding, interviewers could also be asking misguided questions. Which I find often.
- iamspoilt 7y agoJust wanted to say thank you for this!
- strikelaserclaw 7y agoFor all the negativity for these type of tech interviews, they are, from what i've seen, one of the most merit based systems out there. It is either this or we need to create some sort of national developer exam. The other alternate is to get jobs at good companies, they will only look at what school you went, whether you graduated with a CS degree, what companies you worked etc... All things which do not guarantee merit.
- mixmastamyk 7y agoMerit at high pressure performance, not being a good developer.
- strikelaserclaw 7y agoit is not a perfect system but nobody can really predict a good developer till someone is already on the job. A good developer is more than algo skills, he/she also has good communication, works well with others etc... These are not things we can test yet. The problem with our profession is since it is lucrative and has no real licensing, it is a perfect breeding ground for fakers.
- craz8 7y agoSo, as someone who’s been out of school for a million years, after my name and contact info, my education info is the second most important thing? I don’t think so Maybe this should be titled “Just Graduated? Some Useful Tips”
- arvinsim 7y agoCurious as to why the geographical locations provided are only for US and Singapore.
- x0to1 7y agoThe author is from Singapore and writing from the perspective of a graduate with fang jobs to his juniors. Also, looks like it showcases some software(Docusaurus) he made at facebook.
- jumelles 7y ago> Get a proper email account with ideally your first name and last name, eg. "john.doe@gmail.com" instead of "angrybirds88@gmail.com"... Avoid emails like "me@christi.na" or "admin@[mycooldomain].com" -- because it is very prone to typo errors. I don't think I've ever seen anyone explicitly recommend against using a custom domain for email.
- sdan 7y agoThat's what I was thinking as well. If I gave you the following emails: s@vdan.cc s@dantuluri.cc surya@suryad.com dsuryav@gmail.com Which would look most professional?
- habitue 7y agoIn my experience, dynamic programming is overrepresented in interview questions (vs. like other algorithm techniques). Everyone loves to ask dynamic programming questions, make sure you've done a lot of them and you'll look really impressive.
- deleted 7y ago[deleted]
- codecrusade 7y agoThanks. This is gold.
- sudhirkhanger 7y agoWhen I talk to other Android Developers I notice that they aren't really using much of data structure and algorithms in their day to day programming except 1-2 very basic one's like ArrayList, List, and HashMap. 1. If I am not using a lot of data structure and algorithms in my day to day work how am I supposed to be good at it? I am very good at finding solutions to problems but I am very bad at remembering a lot of things. 2. How does one even prepare for a subject as big as Android? The thing is vast. And asking trivial things about it won't be very useful.
- Rainymood 7y agoJezus, the amount of hoops people are willing to jump to work at a certain company. And it baffles me that I might want to jump these hoops as well ..
- fogetti 7y agoThere is something I cannot understand and this has already become a cliche: > Technology industry is an extremely fast-moving one. Many technologies used today didn't even exist/were popular a decade ago; in 2009, mobile app development and blockchain were pretty much unheard of. Engineers constantly need to upgrade their skills to stay relevant to the demands of the job market. Engineering is a great career for passionate individuals who like to learn. Why would anyone give this advice? Can we stop handing out this advice and encourage everyone to stand up for their rights instead? If you think about it, by proxy this gives you the following advice: as a programmer you will have no life outside of work and you are supposed to be an idiot who spends his time working and studying outside office hours even when you could spend time with your family. So yeah, go for it and suck it up you idiot. At least that's how most employers handle this problem. And interestingly by comparison no-one tells a MBA diploma holder that it's a great career for passionate individuals who like to spend their whole life studying. And before you think that I am against studying, that's not the case at all. If my company pays for it and I can kick back on a sofa during working hours to study I am fine with it. But I cannot see any value studying something on my own expense on my own time which will be outdated in 3 years anyway and so by definition it only benefits my employer.
- username90 7y agoMBA holders is a bad example since many of them happily work many hours of overtime, so I am pretty sure that they work more hours than software engineers even if you include the time it takes to study for interviews. > It turns out that the median number of hours racked up by an MBA in his or her first year of employment is a whopping 54 hours a week https://www.forbes.com/sites/poetsandquants/2018/03/06/the-60-hour-work-week-do-mbas-really-work-this-hard/#3486d7663d49 https://www.forbes.com/sites/poetsandquants/2018/03/06/the-6...
- fogetti 7y agoI am confused. Why do you think software engineers stop working as much as MBAs when they land a job? That's when they have to start studying even more beside working. 54 sounds about average for an engineer anyway. In Germany for example it's not rare to have 9 hour working days, with 30 to 60 minute lunch breaks in between. If it's so then basically one week comes to about 45 hours / week. If you study 2 hours a day, read books or read the news, follow trends, watch recordings of past conferences, etc which are pretty standard things that you are supposed to do on your job then it easily comes to 54 hours / week. So that's not high at all.
- shawnps 7y agoI stumbled across another amazing resource a while back - recorded mock interviews: https://interviewing.io/recordings/Python-Google-6/ https://interviewing.io/recordings/Python-Google-6/ I'm not affiliated with this site, I just thought this was a great idea and well executed. I used to lean toward the "studying algorithms, data structures, whiteboarding, etc. is useless since I'll never actually need them" ideology until later in my career when I realized that worst case (for me) I can take a break from building CRUD apps and refresh my CS fundamentals. I enjoy speeding up code and then asking myself, "can I do better?" each step of the way, trying to make further improvements.
- interviewthr 7y agoHow is this much different than a paid smaller version of LeetCode? When I was prepping I got the most value out of LeetCode for solo prep, followed by mock interviews with sites like Pramp.com, Gianlo.co, and PracticeCodingInterview.com. I don’t know why tech companies don’t just admit that this is all pretty much standardized at this point. Just build a standardized test, or certification, and get it over with.
- nvarsj 7y agoThat’s a great idea. Tech interviews are a poorly implemented version of something like actuarial exams. Let’s formalise it and give people a certificate for it - Certified Software Engineer. I’m only half joking. At least we’d only have to go through the process once.
- dayvid 7y agoWell organized, but a lot of noise. This is honestly the best guide I saw (got a job at a FAANG company following it): https://haseebq.com/how-to-break-into-tech-job-hunting-and-interviews/ https://haseebq.com/how-to-break-into-tech-job-hunting-and-i...
- streetcat1 7y agoOne of the goals of technical interview (or any interview) is to find your real charterer (are you lazy? do you break when you do not find a solution? are you creative?) The quickest way to do that in a 45 min, is to put the candidate under pressure. The best way to put a developer under pressure is to ask coding questions and expect some solution in a very short time. Note that the goal is NOT to find out if you know the ins and out of a specific algorithm. It is to discover how you think under pressure.
- davidjnelson 7y agoThis looks pretty reasonable https://www.blog.google/technology/area-120/byteboard-interview-measures-for-essential-engineering-skills/ https://www.blog.google/technology/area-120/byteboard-interv...
- applechen777 7y agoThis thread has been a great discussion. We are a startup and did hiring ourselves. We gave 1) algorithms, system designs type on questions 2) a mini project like build a profile in React Native. With 10 sample size, we found people who finished the project quickly and reasonably performed well at work while candidates who passed algorithms didn’t grow as fast. The main thing is the problem solving oriented skills in a project that really makes a difference. Thus, we pivoted to do a mini project screening automation for companies to do hirings. This site has backend to frontend tasks that come with a CLI to code the project locally. The website is called https://real.dev https://real.dev. We want to solve this interview problems for companies.
- thelazydogsback 7y ago> ... nobody needs to know: > Anything less recent than 3-4 years Really? I did the most interesting and challenging projects earliest in my career (late 80's to early 2000's) -- just due to the nature of the industry, I'd think that more recent project descriptions have undergone a certain homogenization that would make them less and less an indicator of talent and varied experience. I can chat excitedly about early projects, but now people must all be saying "cloud blah JS blah containers blah blah bit-pipes and storage blah - oh yeah, and modands!"
- jonotime 7y agoI'm going a different route with interviews and wonder if anyone has input... I'm a senior backend dev with 10+ years of experience. Breadth of projects, masters in CS, open source work, team lead, top contributor, great references, etc. But I cant pass a coding interview, because I kinda freeze up during algorithm whiteboarding questions. I get requests for interviews daily and have been considering starting with a cover letter that basically says I'm not good at coding interviews, but love to talk tech (and see other positives above). Could I do a homework assignment or anything else to show my worth? Has anyone had any luck with an approach like this?
- mixmastamyk 7y agoPut “I don’t do pop quiz interviews” on top of your documents and see what happens. I do this but haven’t been so blatant about it. Networking is the only other avenue.
- person_of_color 7y agoThis is good. But the question is how to get smart enough to solve medium-hard level problems without hours and hours of practice?
- khole113 7y agoI was in a relationship with Mark for about 3years. I was so true to him i had plans to marry him someday….soon. Then I started noticing some foul play. he always tried to satisfy me even when I wanted only little of him. A sign he was cheating so I decided to take matters in my hand and told my best friend about it. He gave me someone’s contact who changed my whole life for the better. thought it was a joke after when i funded the exploits and told to be in 24 hours, He helped me hack his FB account,his emails and I got to find out he had been cheating with not one but different women since we’ve been together. All Thanks to onlineghosthacker247 get to him on (onlineghosthacker247 AT GMAIL DOT COM) you gonna thank me later!!