Live data from Hacker News

How to Pass a Programming Interview

blog.triplebyte.com

331–340 of 570 posts

Re: How to Pass a Programming Interview

#331

Being a good programmer has a surprisingly small role in passing programming interviews. And that just says it all, doesn't it? I agree that interviews should test candidates on certain basic skills, including (time/space) complexity analysis. But do you really learn anything by asking the candidate if they can recite the time complexity of a moving window average algorithm (as I was asked to do by an interviewer yes…

When I was interviewing in the past I was usually refusing any take home projects, if you don't want to spend 30 minutes talking to while watching me code it tells me something about your priorities.

However whiteboarding is also terrible.

I prefer getting a real world / work related scenario problem, and solving it TOGETHER with the interviewer: if I'm stuck, as opposed to a hackerank codility challenge, there is a good chance they will let me know and hint in the right direction, and they will also see how I communicate, how I think, how I respond to hints. An online challenge can be easily done by the candidate sitting next to 2 more senior coder friends who help him / her along the way. Unless it is proctored, you can never know. I had people whispering someone answers during a phone screen, people typing my question in Google and reading me the first result (I google it at the same time).

I think that giving you a hackerank or codility take home problem unless this is an entry level job will simply drive away experienced people.

If someone can pass your take home test easily, you will still need to phone screen them before you fly them over in most cases, and if they are that good, they will probably prefer companies that don't waste their time and jump straight to the real person phone screen.

However, some people are more nervous when someone is watching over their shoulder, so here is what I would do: I would ask the candidate what they prefer:

1. work related a hands on assignment with plenty of time (e.g. should take 30 mins but you give 1 hour) and ability to search online and ability to compile use an IDE just like in a real world scenario

2. Skype screen with a lot of small questions on a topic they really feel they know about (no Googling allowed), and a relatively smaller coding challenge (something you can code in 15 minutes)

3. Work related scenario but with a real person, where there is no one best answer to the question, but more of a balance of tradeoffs and more open ended but 100% involves coding (just like most phone screens, but more work related and not just puzzles)

4. The standard puzzle challenge but alone - you have 30 minutes to solve the problem once you see it (Googling is allowed or the test is proctored to make sure you don't, then you get more time)

5. the classic - a cracking the code interview kind of question, but with a real person, code sharing (for crying out loud not google docs, at least have your candidates use something that offers color coding and easier indentation) - some might choose still this

If you let your candidate chose what is best for them, you already made an amazing impression, and you might have much less false negatives.

Just my opinion

Re: How to Pass a Programming Interview

#332

The point of most job interviews is to weed out people who need to read articles like this one.

No it isn't. It's to weed out people who wouldn't think to or know where to find it.

Rote memorization of a guide or following a "script" is not the same as qualifying for a position.

A sufficiently experienced and knowledgeable person will be doing things similar to what's in the guide because they've learned to do so through experience, not because they read it in a silly guide.

People seeking out the guides are typically the same ones who don't have the experience to back up what the guide tells them to do.

Re: How to Pass a Programming Interview

#333
post #255

Being a good programmer has a surprisingly small role in passing programming interviews. And that just says it all, doesn't it? I agree that interviews should test candidates on certain basic skills, including (time/space) complexity analysis. But do you really learn anything by asking the candidate if they can recite the time complexity of a moving window average algorithm (as I was asked to do by an interviewer yes…

Homework projects could work well if the hiring requirements are small, but won't work well when a company has to hire say 25 engineers a quarter, which we had to. At that point, the process becomes too long, and it's easy to lose good candidates to a long process. This method of interviewing has been around ever since, and is going to be around for the foreseeable future. Nobody loves it, including the interviewers,…

not showing the tuition somewhere up-front (or even in the faq) is another red flag...

Re: How to Pass a Programming Interview

#334

Being a good programmer has a surprisingly small role in passing programming interviews. And that just says it all, doesn't it? I agree that interviews should test candidates on certain basic skills, including (time/space) complexity analysis. But do you really learn anything by asking the candidate if they can recite the time complexity of a moving window average algorithm (as I was asked to do by an interviewer yes…

The problem is that most companies want the take home in addition to algorithm interviews, keeping the worst characteristics of both approaches.

Re: How to Pass a Programming Interview

#335
post #327

Being a good programmer has a surprisingly small role in passing programming interviews. And that just says it all, doesn't it? I agree that interviews should test candidates on certain basic skills, including (time/space) complexity analysis. But do you really learn anything by asking the candidate if they can recite the time complexity of a moving window average algorithm (as I was asked to do by an interviewer yes…

> But do you really learn anything by asking the candidate if they can recite the time complexity of a moving window average algorithm (as I was asked to do by an interviewer yesterday)? This is actually a trivially easy question that gets to the heart of whether you understand the point of moving averages or not (that you can update a sum by subtracting out the value leaving the window and adding in the value enteri…

It's not so much specifically about the moving average problem. I would want to see that a candidate can reason about the performance of some code / algorithm. I would not expect them to be able to recite the performance for specific algorithms from memory, however.

Re: How to Pass a Programming Interview

#336
post #196

Earlier quoted context omitted.

> including (time/space) complexity analysis. I think this is one of the most inane things to be asked during an interview. personally, I've never found myself in a situation where I truly needed to choose between a vector/map/list/hashmap. Or had to find the O(x^n) and replace it with O(x^2) Obviously it depends on the application, but many jobs are simply maintenance coding: find bug, fix bug, test fix. Often times…

I've never found myself in a situation where I truly needed to choose between a vector/map/list/hashmap. Or had to find the O(x^n) and replace it with O(x^2) This entirely depends on the kind of product you are working on. When you get to a large scale with any programming project, optimizing computational resources will cut costs, and can often add value to the customer as well.

I would say it starts becoming important for any application that has multiple concurrent users. If it's a single user running it on some device and there's no shared resource (I.E. back end), then chances are it's not going to be an issue.

Re: How to Pass a Programming Interview

#337
post #255

Earlier quoted context omitted.

Homework projects could work well if the hiring requirements are small, but won't work well when a company has to hire say 25 engineers a quarter, which we had to. At that point, the process becomes too long, and it's easy to lose good candidates to a long process. This method of interviewing has been around ever since, and is going to be around for the foreseeable future. Nobody loves it, including the interviewers,…

i was about to sign up but then it asked for my phone number. why do you need this information?

Simply because it is quite difficult to explain the concept in writing. What does it mean to have an intense bootcamp just to prepare for interviews? What's the method? etc.

I want to take the time to talk to everyone who is interested in the course. Because the concept is new, people have all sorts of questions. Can't possibly address all of them in writing. I don't have a team of salespeople and haven't spent a penny on advertising.

If you still prefer email, please feel free to send one. It's on the site. It may just take longer to do back and forth.

Thanks for considering!

Re: How to Pass a Programming Interview

#338

Earlier quoted context omitted.

Ironically enough, Triplebyte's own take-home projects were some of the worst I've ever had, and did a horrible job of respecting the candidate's time. When I went through the their take-home interview process, there were 4 projects to choose from, with only one having anything remotely to do with my area of expertise (it was a multiplayer game, and I was looking to work as a web front-end/full-stack developer). For…

Now they also tell you that it's OK if you don't finish the project. Yeah, they always say that -- but it's never really true. They should just be honest and say "If you don't finish the project in time -- then don't feel bad, but perhaps the test isn't right for you, at this time. Feel free to apply again in 6 months."

>>Feel free to apply again in 6 months.

I don't understand this. No company is so special that I would be throwing away hundreds of hours in pointless meaningless work every few months just to join them! Unless I'm in need of a job again.

And whats the big deal even if I join them after six months, I'd be working to maintain some code, fix bugs and may be occasionally do a big important project.

Its not like they are sending Neil Armstrong to the moon all over again that I would like to be a part of this history.

Re: How to Pass a Programming Interview

#339
post #255

Earlier quoted context omitted.

Homework projects could work well if the hiring requirements are small, but won't work well when a company has to hire say 25 engineers a quarter, which we had to. At that point, the process becomes too long, and it's easy to lose good candidates to a long process. This method of interviewing has been around ever since, and is going to be around for the foreseeable future. Nobody loves it, including the interviewers,…

not showing the tuition somewhere up-front (or even in the faq) is another red flag...

I had it there at one point. But the concept is difficult to understand and hence it takes a bit to understand the pricing. I didn't want random discussions on pricing flying online, by people who hadn't taken the time to understand what the course was, and what the upside is.

Pricing is also nuanced based on whether you're an experience engineer or student, whether you're taking the course remotely or on-site. Plus, there are recruiting firms who have access to our pipeline, who return a significant portion of our fees to you directly (we don't take a cut).

And those who are super curious, can always google it :-) In fact, most people who call have already googled for it before calling.

Rest assured, we're a real business, running classes every week. Batch after batch. Those who work hard, are getting their work rewarded.

Re: How to Pass a Programming Interview

#340

Earlier quoted context omitted.

Its good to see how people handle stress. You can weed out a lot of crybabies by analyzing their performance under pressure, regardless of whether they produce the "right answer".

you sound like a terrible boss

Thankfully I'm not a boss. But when I go to an interview and they put me under pressure, I dont automatically discount them because they put me in an uncomfortable situation. I assume they're gauging my mettle.
Post reply on HN