Hacker News new | past | comments | ask | show | jobs | submit login

I met a young guy at the hotel diner where I was staying for google interview( there were like 50 of us in that hotel). He told me he has been practising algorithm questions on a whiteboard every day for past 4 months for tech interviews. He had a degree from a top school ( don't remember which one ), did an internship at some other top tech company in the valley. needless to say, that didn't help my confidence in the interview that morning :D.



I don't understand people who don't do prep for interviews. I'm a self-taught software engineer with a mostly irrelevant degree but I for sure work through practice problems before interviews and I've had success with some of the "big 5" or whatever they're called. If I hadn't done the practice, I doubt I would have had any success at all.

It's a bit of a slog but it's not that hard if you're motivated to get a new job. My girlfriend has gone back to school for nursing and she works a shit load harder than me all the time, while I just do a month or so of ~ten hours a week of prep for every round of interviews I do.


unless you're interviewing at one of the big companies with a known interview process, you'd basically be wasting your time.

I've done hundreds of tech interviews over my career, and especially in recent years (now that companies are trying new things), it's completely random.

Some will do "Cracking the coding interview" type shit, some will do code reviews, some will give you a take home thing you have to present, some will do pair coding. Some do algorithms only, some do design discussions only, and so on and so forth.

So any prep I do will be a shot in the dark and 99% of the time I'll have to do something I did not prep for. So I don't bother trying.

Notable exception is my current job, which is a big tech co with a semi well known interview process (not as infamous as google or facebook, but still), and they gave me a fair amount of info up front. I also -really really really- wanted to work there because the team I wanted to work for did things no one else does. So i bit the bullet and studied/practice.

That was literally the first time (and probably last) time I did.


I guess I just think of it as limbering up the brain, even if what I "studied" isn't directly useful. I'm going to be a lot more effective at basically all the things you mentioned if I've been solving tricky problems in my spare time for a few weeks.

I totally agree that it's a shot in the dark, though.


Just out of curiosity, are you relatively young? Memorizing the same material for four months every time you switch jobs gets tedious after a 15 year long career.


I've been in the industry for about 10 years. Like I said, it's more about limbering up my brain. I have a good time with it, and usually learn some new things. Memorization is pointless, so I try to solve new and interesting problems rather than re-implementing the same old data structures and algorithms every time.

To be sure, some people take it too far. The "four months" figure does not come from me.


> so I try to solve new and interesting problems

Curious if you have any examples. I have really hard time motivating myself to study same old ds and algorithms too .


I wanted to learn Rust but didn't have a good project in mind. So I solved a bunch of interview problems: https://github.com/brianquinlan/learn-rust

Solving those problems gave me a reason to touch lots of parts of the language and was also intellectually interesting. See, for example: https://github.com/brianquinlan/learn-rust/tree/master/i18n


This is awesome. Learning Rust is also one of my goals. This is pretty great for comparing my solutions.


Especially when you have hardly ever had to use it in your 15 years career.


In my life I have interviewed at Amazon, Facebook, Google, 1Energy, and Redfin. 100% of them did standard coding interviews, including the last two. Claiming that preparing for whitebord algorithms interviews is a waste of time outside the big N is a gross exaggeration at best.


You make a good point, but:

> Some will do "Cracking the coding interview" type shit, some will do code reviews, some will give you a take home thing you have to present, some will do pair coding. Some do algorithms only, some do design discussions only, and so on and so forth.

"Cracking the Coding Interview" and algorithms are the only things you mention that you don't spend all day doing at your day job. Spending time studying algorithm questions will be hugely beneficial for some interviews. For others, they'll quiz you on stuff you (should) already know.


It makes complete sense for your first job and when you're unemployed, but as someone with a couple jobs under his belt already, I have no interest in interview prep anymore unless it's relevant to my work and there's a clear ROI.

The way I see it, no experienced candidate should have to do "interview prep" because the work that he/she does on the job should be more relevant to his/her ability to do the job than any form of interview prep.

To make an extreme example, John Carmack's work time is probably better allocated actually doing work than brushing up on "Cracking the Coding Interview" problems. In an ideal world a software engineer's candidacy for a job would be based strictly on his ability to do the job, not academic trivia questions.


This got me thinking. Since John Carmack is a person we can probably all agree is a talented programmer and all round smart guy ... I'm curious how he would fare if he was handed a standard set of Google/FB interview questions


I have a hard enough time trying to fit my own personal projects into my schedule, much less doing mind numbing memorization. It's funny that unless you teach CS, none of our jobs actually prepare for an interview.


If you're memorizing, you're doing it wrong (IMO, in general).

I think that if you are working on some moderately challenging and varied personal projects, that's probably also a great way to prepare.


I used to think so, but I've found that small amounts of memorization alongside actually working with topics is so much more effective that I have started doing it outside of interview crams - such as when I am trying to get to grips with a new library's API.


It's really at the point where you need to prepare/review for the technical interviews at most companies. If people are going to review coding interview questions/books/strategy then to compete we'll have to do the same.

I myself have been working through cracking the coding interview in an attempt to migrate from upstate new york to the bay area. Maybe I wouldn't bother with positions that demanded white boarding if I already had a position over there and could be selective but maybe not. It kind of feels like it's all part of the game at this point.


Good for you. If you want to work at the circus, you've gotta jump through some hoops. It's true that for most jobs, most day-to-day work doesn't involve knowing standard algorithms and data structures. But being willing to crack open a book and learn something new shows you're willing to prepare when it counts, and that you're capable of learning. Plus you get to learn some cool things along the way, some of which may even be useful some day!


Or it shows a lack of critical thinking.


Accepted criticism. At times I wonder if it's worth it or not but I think the preparation is warranted considering how I have to just kind of commit to this whole thing if I play on moving cross country with my fiancee.


Was he hired?


Probably.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: