Live data from Hacker News

Stanford CS9: Problem-Solving for the CS Technical Interview

web.stanford.edu

121–130 of 292 posts

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#121

Earlier quoted context omitted.

Preparation is a huuuuuuge part of being successful in the workplace[1]. Simply showing up just doesn’t cut it. Part of interviews aren’t even testing skills, but testing prep. Of course, you want to test for innate genetic talent as well. Good interviews do that, but as with gattaca, we see that desire and sincere interest counts too over genes. Preparation, sincerity, and genes. That’s what I like to see in potenti…

Software engineering does not consist of preparing for and then giving short/intense performances. Plenty of fields do - performing arts, film, trading, etc. all involve some form of short, intense, expensive activity to which you show up prepared and work in a burst of superhuman activity. But software isn’t like that at all - you get a problem and you dig into it, mull it over, research, etc. at your leisure until…

This is true if you have very junior level responsibility, but as soon as you need to take any kind of leadership role others will be looking to you to contribute in a manner that is not ad hoc.

Also, you mention research. Research and preparation are synonymous.

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#122
post #102

Earlier quoted context omitted.

Preparation is a huuuuuuge part of being successful in the workplace[1]. Simply showing up just doesn’t cut it. Part of interviews aren’t even testing skills, but testing prep. Of course, you want to test for innate genetic talent as well. Good interviews do that, but as with gattaca, we see that desire and sincere interest counts too over genes. Preparation, sincerity, and genes. That’s what I like to see in potenti…

The idea of screening for a software engineering gene is patently absurd. In an ideal scenario, we screen for the ability to do the work the job requires. In the normal scenario, we screen for some mix of that and the ability to apply cookie-cutter techniques to (hopefully) novel problems in the space of ~45 minutes. Some companies also ask you to do a sample practical problem either on site or on your own time. None…

To imagine that genetics do not play a role in intelligence (or any talent) is horribly naive, otherwise we could teach our dogs to program.

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#123

Earlier quoted context omitted.

The idea of having a whole class on how to solve interview whiteboard problems (a skill that is, at least where I work, not very relevant to doing your job) is terrifying.

It’s 1 pass/fail credit out of 180 to graduate. The course looks as much like how to job hunt as anything else. (Resume writing, etc)

In design school, we had one class which involved things like developing your portfolio, learning how to present yourselves to companies, interviews with Creative Directors, etc.

Given that technical interviews a common method of partially evaluating engineers/developers, it doesn't strike me as particularly odd for a practical course to exist that helps students maximize their ability to get a job. As you mentioned, it's really only one class out of dozens of others they'll take over several years. Myself, I took a number of electives that had far less practical impact on my career trajectory.

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#124
post #3

This is what I was afraid of. I always thought interviews were something where you present your abilities, experience and knowledge. It should not be something you "prepare" for because then you're not showing off your skills, instead you're just regurgitating what you are trained to do. I do somewhat blame the whiteboard culture, but I guess that's the one that has given the best results so far. I've no doubt that i…

I think it's rather silly to "prepare" for an interview, but IMHO what they expect at Google/Facebook/Amazon/Microsoft is not something you should really need to prepare for if you took the time to really understand the algorithms and general techniques you study as a CS undergrad. Rehearsing at a relaxed pace over a single weekend should be more than enough, particularly to get used to discuss your ideas and using a…

You're absolutely right. The problem with these kinds of courses is that you will now be competing with people who have been specifically taught how to prepare for and crack technical interviews.

I am pretty sure that they will perform better than people who just spend a single weekend rehearsing.

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#125
post #112

Earlier quoted context omitted.

How do you prevent cheating? Someone can very easily have a friend complete the challenge and walk them through it in a lot of detail. They could prep well enough that you hire someone who is massively under-qualified. Then if your company is large enough, your novel challenge gets leaked and everyone knows it ahead of time. Solutions start being sold or distributed. Then your interview is meaningless. I'm all for a…

For anyone with any kind of reasonable background suggesting they can do the job, the alternative is simple: just give them the job on a probationary basis. Give 5 people the job, tell them one will keep it after a 3 month contract period. Choose the ones you want to keep.

This is a terrible idea. Now if someone wants to interview at your company they have an 80% chance of being unemployed when it is done. Good luck getting good candidates to jump through that hoop.

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#126
post #109

Earlier quoted context omitted.

The reality is the majority of tech interviews today are filled with questions/tasks that have little or nothing to do with the actual job you are going to be assigned. In fact an average programmer doesn't actually need to know a single piece of computer science or math (almost all such stuff is abstracted by common libraries and frameworks, whatever is not can be looked up on demand) nor to memorize anything (thank…

It's a fitness test. Are you going to bring me value, or are you on the verge of burnout with outdated skills, trying to live off your past? "What did you do for me today?" is what matters for company to stay afloat and brutal competition is the way to achieve it. What kind of society it creates is another question.

I'm a proponent of whiteboard tests and am in charge of conducting for potential hires on my team.

However I don't see how they guard against an outdated skillset? My company employees five Infor Sys21 RPG programmers who thought the term "web service" was synonymous with SOAP until I ran a workshop.4 out of 5 worked most of their career for IBM and all have bachelor's or masters in CS, EE, or Math. With a weekend of refreshing they would definitely pass a whiteboard for me (although not necessarily with the most optimized solution). They are all over 50 btw. And work slow and steady (but efficient) with no burnout in site.

I can come up with a "good" solution for nearly every question related to algo on leetcode and have very in demand skills as well as been the top SO poster and core open source developer on a Java platform that is #1 in a Gartner magic quadrant. At 27 and am on the verge of burnout that as happened as a result of getting large Adderall / Vyvanse scripts (legally) and being on the computer for nearly 14 hours every day.

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#127
post #109

Earlier quoted context omitted.

It's a fitness test. Are you going to bring me value, or are you on the verge of burnout with outdated skills, trying to live off your past? "What did you do for me today?" is what matters for company to stay afloat and brutal competition is the way to achieve it. What kind of society it creates is another question.

I'm a proponent of whiteboard tests and am in charge of conducting for potential hires on my team. However I don't see how they guard against an outdated skillset? My company employees five Infor Sys21 RPG programmers who thought the term "web service" was synonymous with SOAP until I ran a workshop.4 out of 5 worked most of their career for IBM and all have bachelor's or masters in CS, EE, or Math. With a weekend of…

Dude...

I read this and I wonder if you will understand what I'm saying when I tell you that it is specifically BECAUSE proponents like you fuck themselves up beyond comprehension that I consider whiteboard tests to be a massive red flag when I'm interviewing at a company.

Your career should be a source of service, joy, growth and challenge for your entire life.

Don't destroy it for yourself (and others!) right at the beginning.

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#128
post #64

Earlier quoted context omitted.

FWIW, preparing for interviews is standard practice irrespective of the industry.

> FWIW, preparing for interviews is standard practice irrespective of the industry. This is simply wrong. I suppose if you've spent your whole life as a developer, it may seem like it would be done likewise other industries, but it's not the case. Typically, how you might "prepare" for interviews in other industries is...learning about your potential employer. And maybe reviewing your accomplishments. That's it. And…

Typically, how you might "prepare" for interviews in other industries is...learning about your potential employer.

It has always shocked me that people don't instinctively think that doing this is an absolute necessity for every single job interview. I have very often been met with a totally blank look when I've asked candidates what they think it is the company I'm interviewing them for does, even when phrased as nicely as, "Tell me a little about what we do and why you'd like to work for us" - surely not a hard question, you would think!

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#129
post #55

Could there be a clearer sign that the quality of higher education in our time is in steep decline? If, one hundred years ago, Oxbridge had floated the idea of sanctioning a student to embark on a program of study designed to anticipate questions that might arise in a job interview, it would have been as preposterous as suggesting that the Queen should take her meals in a pub. And yet today, we have one of the preemi…

40 years ago, my mom took a one credit course in undergrad for her cs degree that was on resume writing, interviewing, and negotiation. Is this so different?

Did your mom go to Stanford?

Re: Stanford CS9: Problem-Solving for the CS Technical Interview

#130
post #3

This is what I was afraid of. I always thought interviews were something where you present your abilities, experience and knowledge. It should not be something you "prepare" for because then you're not showing off your skills, instead you're just regurgitating what you are trained to do. I do somewhat blame the whiteboard culture, but I guess that's the one that has given the best results so far. I've no doubt that i…

One of the things I miss about being an orchestral musician is that you always knew what you were getting into when you went into an audition. You've known the pool of excerpts for your instrument since you were in college; you've been working on them for years; you've probably known the excerpts for this particular audition for months if not a year.

Every one of them is the same: you go in behind a screen, and you have to play those few minutes of music better than anyone else that day. It's hard to do because they choose the hardest stuff, but you know what you're up against.

It's very imperfect. It doesn't reflect most of what you're going to be doing in the job. You might play one of those pieces in a given season. The bulk of your time is spent listening to the players around you and playing in sync with them, understanding what the conductor wants, etc. There's a lot more to being a good orchestral musician than being able to nail your part for Don Juan completely alone without context.

It's not great, but it is consistent. Evert tech interview I've had in person has been wildly different. Even since I learned pretty early on to ask about the process. You still have no idea. It can be anything from an entire dev team grilling each other in a pissing match that had almost nothing to do with me, to 1:1 with someone grilling me about the finer points of a PhD topic they just finished years studying to a casual conversation over coffee just to get to know you to live coding exercises where you have an hour to write a 3-d car driving game to a conversation with part of the team where they tell you about their real-world problems and ask you for ideas about solutions to getting paid to work on a live project. All for web developer or data engineering positions.

I remember being in one interviewer role a while back for a dev ops person for the team. I got thrown into the mix at the last minute because the other interviewers realized the day of the interview that they don't know anything about dev ops, and I kind of carried that portion of things for us. They had literally nothing to offer to the conversation, so it was unprepared me interviewing a highly competent dev ops pro. After 20 minutes, the other interviewers left and said, "I really don't know why we're here. I don't understand any of the words either one of you are using, so just carry on without us."

I felt really bad for that guy. He was really really good, and the only thing we got out of it was that the team didn't know why we were hiring for that position.

The amount of variability is truly insane. I hope that whiteboarding culture doesn't win the standardization contest because even worse than in the case of a violin audition, there really should be no performing or bravado in an engineering team.

But even standardizing around that would be an improvement over the utter chaos right now. Because then it's consistent. Perhaps misplaced, but at least consistent.

I wish that instead of teaching classes about how to win the CS technical interview, schools would teach classes about how to interview for technical roles. How to design effective interviews that will help find the best person for that role. There's a ton of research around this. It's not just "whatever seems to work for us." And we need to be better.

Post reply on HN