Live data from Hacker News

Tech Interview Handbook

techinterviewhandbook.org

71–80 of 132 posts

Re: Tech Interview Handbook

#71

Earlier quoted context omitted.

If your question is specifically referring to the leetcode style coding interviews, this is exactly how Silicon Valley engineering careers work if you want to change jobs.

Which is such a strange optimization. As an industry we should boycott leetcode style questions.

I do. I used to reject recruiter's advances the moment they described the interview process as a leetcode-hazing ritual (my words, not theirs), but as I've become even more grumpy/depressed over the poor state of things I might take it step further and start wasting their time (interviewing and then running the interviewers in circles for a while).

Re: Tech Interview Handbook

#72
post #6

Earlier quoted context omitted.

The last time I interviewed, I did it full-time for about a month. Was kind of fun actually: you're solving isolated little coding problems, talking with companies about their engineering and business challenges, meeting smart and friendly people, and at the end of it all you get a big pay raise. The downside is mostly that it's a ton of scheduling calls and on-sites (back when those were in person). At the end of th…

Well yes. To get a software engineering job, step 1 is to quit your software engineering job to study full time to get a job doing something very similar. Doing your job as a software engineer is an impediment to interviewing as one.

The inmates are running the asylum. Few have said it better.

    > Doing your job as a software engineer is an impediment to interviewing as one.

Re: Tech Interview Handbook

#73

Earlier quoted context omitted.

I studied CS for 4 years and have used exactly none of it since leaving college. Our devs all help with hiring and agree as a 20-person team that academic "experience" means almost nothing unless you have no other job experience. How little academia prepares you for anything in real software engineering has become a cultural meme.

Did your CS degree cover algorithms and data structures? Did you learn Big O?

Disclaimer: Not who you are replying to.

For myself at least: absolutely yes. That's actually some of the first stuff they taught us. Would I want to be interviewed on whether I can implement a linked list from the top of my head in an arbitrary language and 100% correctly in a high stress interview situation? Absolutely not. (and a linked list in the end is something really really easy if you ask me)

Does that in any way relate to what I'm doing right now? A little! This will differ depending on who exactly you work for and in what role. It certainly helps to have learned this stuff. I can honestly say that it was fun seeing how regular expressions actually work, how you implement a parser for it etc. But then you learn as well (right there in university) that you better use a parser generator after just having defined the grammar instead of writing it yourself. How many jobs are out there that require you to write a grammar for something? To create a new language? Very very few. There's a market for "boring business software X" software developers.

Is it the most important thing I consider when hiring? Absolutely not. We also don't pay FAANG salaries where I work. Do I want capable software developers? Smart guys for sure. People that are curious, willing and able to learn, writing maintainable code. Guys that if I tell them that there's a hidden n^3 algorithm in what they just wrote and it _does_ matter for the (relatively small but large enough) volumes of data this will run on can look up/ask for what that means.

EDIT: interesting down votes. I hope someone will reply to explain. I certainly don't see why we can't have a civil discussion especially given that we seem to agree on it having been good to get a solid university education. FWIW I have a Master's in Computer Science. From a country that values non university education (Germany - where you can do vocational training to become a programmer. Just like you can become a master carpenter through that system).

Re: Tech Interview Handbook

#74

Earlier quoted context omitted.

Github stars show the developer is either good at creating a project that serves a real need or at least decent at marketing their project, which in a startup role might be useful when you need somebody doing multiple things

Maybe it's just me, but contributed to X with no more information does not strike me as compelling. My initial assumption would be that they didn't do anything. It did not say created it, it did not say primary maintainer, or wrote X feature in Y.

that makes sense, I assumed somebody would list a project they actually created and listed the stars it earned

Re: Tech Interview Handbook

#75
post #50
post #25

Earlier quoted context omitted.

Did you not have to submit transcripts of your results?

Why would I care about how someone did on some contrived tests 10 years ago?

to prime your biases for when you watch them endure your company's contrived tests

Re: Tech Interview Handbook

#76

"GPA does matter" No, it does not, unless you're a recent graduate. Absolutely nobody pays attention to your GPA, if you're more than a few years in your career.

I never put my GPA on any resume. I had a garbage GPA because the only classes I went to were CS classes so I got horrible grades in all my required electives. I was worried someone would ask and no one did.

Back in 2004, I had a phone screen with the folks at Time, Inc., for a systems admin position. Now, I'd been out of school for about 10 years at that point. The interviewer's first question was "what was your GPA in college?", and I was forced to confess I honestly didn't remember.

He stammered a bit, apologizing, and then hung up on me. I've always considered that dodging a bullet. It's a weird thing to ask someone with many years of professional experience. The only thing I could infer was that all of their staff were very young, and this was still relevant to them.

But then, every organization has it's quirks.

Re: Tech Interview Handbook

#77
Forget the Hunger Games, here is the dystopian shit right now:

For a medium level leetcode problem here is the time split (for which 20 min are given typically):

1. 4 min => Read/interpret/parse the problem statement

2. 5 min => Formulate the solution.

3. 8 min => Actual code

4. 3 min => Edge cases/review

---------------------

Notes:

* #2 You should think of various algos, DS and lock on to a particular one. If you cannot improve upon the time complexity, you need to make a split decision to either 1) continue to think more or 2) choose the next best and move to #3

* All you can do is steal one min from other phases but at the cost of less time in that phase.

* Think aloud in #2, #3 & #4

* At times even less time is available in case follow-up questions are to be accounted for.

* Code structure & consistency is important. You will be penalized if you write big monoliths.

* Additional conditions when GTFO is triggered: ["Solved the problem in 23 min instead of 20", "Did not think about that 1 scenario even though you took care of most of the important ones", "Solved the DP problem in top-down instead of bottom-up.. loser"]

----------------------

Optimizations:

* #3 should be reduced as much as possible. Choose a lang, know its standard lib by heart. This gives more time for #2

* Think of edge cases while writing code in #3

* At #2 one, you should be able to describe a solution (in your mind) detailed enough to convert into a code e.g Do DFS. Keep a max_val variable. Update max_val on values from left & right sub-tree.

* Develop intuition of doing some #2 work while in #1

-------------------------

What actually happens (or should happen) when someone practices leetcode a lot?

1. Reduce #1 time.

2. #2 => Quick recall of high level patterns already encountered

3. Able to generate multiple solutions.

4. #3 => Translate that pattern as fast as possible. E.g. There is a standard template for BFS, DFS, two pointers, etc

--------------------------

So the entire prep can be divided into two parts:

1. How soon you can zero-in a solution and convert into an outline?

2. How fast you can vomit that into a code?

Once you are comfortable in writing any code fast, you do not have to code every problem in leetcode. I see a problem and only solve it in mind and then check whether the approach was ok or not. I know I can code it fast

Edit: So for me if I have solved 200-300 LC problems, what it really means is I have actually coded in like 40-50 and remaining are just mind puzzles. If I do daily 5 mind solves, I can easily cover 200 in 40 days. I finish this daily routine in 30-45 min. (Hey .. I said this is dystopian)

------------------------

High level view:

* Practice incrementally and not in 2-3 months sprint. Think of it as daily exercise.

* This is just the way it is. May be I will do my part to change the system from inside when I am in an influential position. If you are able to find companies which do not do this shit, really good for you.

* Know that as senior dev, the margin for error is even less. So more important to practice incrementally.

--------------------------

I do not approve of this. Its bad. I am just a guy dealing with the "system".

Re: Tech Interview Handbook

#78
post #51
post #38

this is the cancer in our industry. seems interviewing is geared towards whatever mega tech companies. yet this on hacker-news. a place filled with seed-stage companies, and early series * who probably just want someone who can get shit done. anecdote: honestly, I have had more problems regarding visa status more than anything, in picking up jobs.

The worst interviews I’ve ever experienced, hands down, were from startups. They asked the most ridiculous whiteboard problems, and that generally just identifies the candidates who crammed most the leetcode. The mega tech companies interviews, by comparison, were surprisingly more reasonable. The startups have probably adopted this approach because it’s all they know, but nobody is forcing them to.

At startups recruitment beyond getting a body in the door/Zoom is largely an afterthought.

I remember interviewing a staff researcher candidate when I was 22 at a startup (I recently interviewed for a hands-on manager position at a startup, and it went south. The recruiter set up the appointment with the VP of eng and told me what the technical topic would be. Two days before the interview the interviewer was changed to a staff engineer. I emailed the recruiter to confirm that the topic would still be the same. She said it would be. Come interview time the interviewer throws a different topic at me, for which I didn't study. I ended up with the correct answer, but it took me the full time to get there. They weren't impressed, but neither was I.

As a hiring manager I take all the these experiences and ensure that I never put a candidate in such a shitty situation.

Re: Tech Interview Handbook

#79

Earlier quoted context omitted.

This is really skewed to recent or new graduate and elite universities. When I was out of college, 15 years ago, some of the internships listed were hard or near impossible to get into. Take for example Goldman Sachs. They should be listing more regular internships and not those who managed to matriculate into the elite of the elite (hint: not a meritocracy). If anything it creates disillusionment that STEM careers a…

This is a pretty garbage take. Goldman Sachs is easier to get into as a software engineer than any FAANG. And every FAANG I know takes the majority of their new grad hires from public universities which, at least in California, are banned from affirmative action and legacy admits. Despite the UC administration's best efforts to remove merit from the equation by not counting standardized test scores admissions into a…

> Goldman Sachs is easier to get into as a software engineer than any FAANG

That wasn't the case 15 years ago, as the post you're responding to stated.

The world has changed.

Re: Tech Interview Handbook

#80

"GPA does matter" No, it does not, unless you're a recent graduate. Absolutely nobody pays attention to your GPA, if you're more than a few years in your career.

It sure is a great way to discriminate against those from working class families though - the kind of people who won't have had much access to private tutoring.
Post reply on HN