Live data from Hacker News

Stanford CS9: Problem-Solving for the CS Technical Interview

web.stanford.edu

61–70 of 292 posts

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

#61
post #50

Earlier quoted context omitted.

Sure but if that were the case wouldn't you think it's silly that you need to train months to be able to juggle to land a SWE position? wouldn't it be stupid? the current interview culture in those companies is not as silly as juggling but is also not a fair representation of candidates, with too much weight being in algorithmic puzzles and behavioral checkboxes you can train for. Obviously if the process was a 100%…

Yes, it is silly that you have to train for an interview for months to land a SWE position at a top company. However, until someone comes up with a less gameable system or a magic wand that stack ranks applicants, then I don't see a viable alternative :\ As someone who gives a lot of interviews, I'd love a better way to assess a candidates ability that is less gameable, but we haven't found one yet.

Google is special in that they seem to have a generic SWE interview unrelated to the candidate's actual specialization. So everyone at Google must be algorithms/systems people, even if they focus on say, HCI or PL or whatever. For junior people, I guess that's fine, for senior people they are obviously going to bias the pool (which explains how Google in general can be so great at A and not so great at B).

Other companies are much more specific in their interviews...you actually get a specific JD with expected skills that you hope will form the basis of your interview, and not all JDs require you to be a distributed systems/algorithm wiz.

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

#62
post #20

I think this is terrible. I feel there are many good engineers that can't possibly compete for decent jobs in tech companies because they haven't spent 6-12 months reading cracking the code interview, doing this Stanford course, practicing mock interviews in crowdsourced websites, getting their leetcode rank up, attending bootcamps where they pad their githubs and practicing any single interview question they can scr…

I work in the public sector. There is a very strong "this must be fair to all applicants" bend. The same criteria is used for all applications - in particular, the exact same questions.

As part of the application, I was instructed to provide 2-3 paragraphs on each of half a dozen questions that covered various aspects of software engineering. The in person interview asked a predefined set of questions about the material that I had provided. That part was more of a "demonstrate that you have the mastery of the material claimed in the written portion and that it wasn't produced by someone else or some other source". This also tested communication skills.

No weight was given to GitHub contributions, hacker rank, leetecode rank or whatnot. There was no whiteboard.

While this isn't a fabulous job at a tech company, it is one where good engineers can and do find themselves at without needing to have the proper shibboleth to get into one of those tech companies.

For another job application that was more of a sysadmin/programmer bend, a simple backup script was the assignment (took about 1h to get all of the edge cases). A portion of the interview was a demonstration and review of the code (in which I had to answer questions about the code that I had written).

While mock interviews can be helpful in the communication skills department and reducing anxiety, there are many other ways to test the person rather than use a proxy such as contributions to a public repository or foo rank websites... and also without resorting to whiteboard for various algorithmic tricks that you either know or don't know.

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

#63
post #31

A whole class for technical interviews seems like overkill. It also gives me an uneasy feeling of being in a tech bubble.

This kind of prep has been common place in other desirable fields for many years. Law, medicine, finance. They all have books, classes, etc. that you can take to prepare for interviewing, taking the bar, mcat, etc. Compared to college admissions, the CS interview process looks downright sane.

They all have prep for everything but interviewing. An interview to get a residency or a junior assistant position will be much more about your credentials and a history of your performance.

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

#64
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…

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 most people don't even do those things. None of this hours and hours reviewing textbooks from your college classes, since you've been in the same job for 5 or 7 years and have forgotten algorithms that you never use in your job. It's simply perverse.

Software development is the only industry I'm aware in which technical preparation for job interviews is not only advisable, but increasingly necessary for interviews at all levels of the career hierarchy.

Even in other engineering disciplines, this kind of bullshit is unheard of for any interviews except maybe your first interview out of college. And in industries like law, medicine, etc., if a potential employer asked you to perform some random task from a highly technical and complex subject from med school or law school, it would be very unusual.

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

#65
post #54

Earlier quoted context omitted.

It's very tempting to say this. However, trying to find an alternative that is not equally or more gameable is very challenging. Take home assignments are easy to cheat on and take a lot of time. Asking questions about someone's experience is a great way to find someone who is a great conversationalist that can't code. Asking someone to program at a computer in a limited amount of time falls victim to the same issues…

Take home assignments are easy to cheat on? What does that mean (in the context of a take-home problem as an interview method)? Are candidates expected to derive solutions to coding or engineering problems themselves from first principles as their day to day? The answer is "no" almost without exception, even in serious research or hard core low level systems programming jobs.

"Are candidates expected to derive solutions to coding or engineering problems themselves from first principles as their day to day?"

Does performance on these tasks correlate with performance on the job? Is it easy to measure this performance in interviews reliably? Then it's going to be used by companies.

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

#66
post #34

Earlier quoted context omitted.

>> FWIW, preparing for interviews is standard practice irrespective of the industry. Industry is sane. They ask stuff relevant to actual work or real basics. They don't make a gameable process full of rules and techniques.

It's been my experience that any industry that * Is attractive enough (compensation, lifestyle, etc.) * and has a larger supply of qualified applicants than desirable positions Will result in applicants preparing for however they are interviewed, tested, etc. This isn't unique to software engineering interviews. People prepare for interviews or exams in finance, law, medicine, etc. They all have a system that is game…

“Interviews or exams”

That you think interviews and exams are interchangeable concepts illustrates the problem. Nothing wrong with a rigorous filter at the gates of the profession, but lawyers don’t need to spend months studying for each company’s half-assed version of the bar exam each time they change jobs. Our industry is dysfunctional because, unlike law and medicine, no one trusts the credentialing mechanisms.

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

#67

I know this has been said a billion times but the CS interview is bullshit. It's like asking a pianist to describe how they would play a composition on the white board. I always thought that this is a good question to ask https://github.com/alex/what-happens-when but then again probably not for all roles. It's good because even if the interviewee has seen the question, you can really gauge how much they know.

Still very gameable, and only test domain knowledge, rather than problem-solving skills.

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

#68
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…

Good interviews involve problem solving from first principles. In CS it is mostly algorithms. Maybe some systems design and/or os and network fundamentals.

That being said, to prep is better than to not prep.. just like the SAT. The problem is that these things favor those who make the time.

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

#69
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…

I doubt this is a sign of a decline in quality of higher ed, and more a sign of the popularity of CS as a major and software engineering as a career. These kinds of courses and prep has existed in similarly popular fields for many yeas: law, medicine, finance, etc.

1) Those are professional schools 2) Even so, no respectable law school offers a bar prep class. Nor does any med school offer "How to ace the USMLE".

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

#70
My school does co-op's and has a 1 credit co-op prep course. We do have practice interviewing there. We also do resume workshops, general best practices for the industry you're in, etc.

You can do both the content and the prep, as I am sure is the case with Stanford CS.

While it's unique to have a course specifically named for this and am sad to see it as well, I don't think this is as big as people are making it out to be, nor is it a canary in the coal mine for higher education. To me, this only signifies the growing shift in education, as it becomes more available to all, being about preparing for your career as much as learning itself. The simple fact is that most attending college today are not doing so just out of the desire to learn alone, but also want to, well, have a nice career in their respective industry. To be able to make a living.

While I would also agree with cautioning about education for career alone, I think it's important that modern education focuses on both. It's the reality of an increasingly college educated world.

Post reply on HN