Coding challenges in interviews. How do you prepare for them ? I’m curious to know about your experiences.
3 years ago I interviewed for a backend dev position and was given a coding challenge where I had to look at java code on a white board and figure out what was wrong. I had done some java in college but not professionally. I did manage to figure out what was wrong (infinite loop) but I didn’t exactly aced the test.
Then in another interview, I had to actually write a small algorithm on a white board, which is not something I’m comfortable with. Don’t remember the specifics of the task but I was supposed to use a recursive function … and I didn’t do that. I was interviewing for a position as a web developer (rails, ruby) and at that time I don’t think I had coded a recursive function in years…
Then recently, I interviewed for FOUR HOURS (whew) and one of the 1-hour meetings was a pair programming session. I had to code a ruby parser to convert a toml file (similar to yaml) into a ruby object. Again, not exactly the kind of stuff I do every day. I didn’t panic and made sure to communicate clearly what I was trying to do. I didn’t think the result would matter as long as I demonstrate that I understand the problem. I didn’t get the job.
I’m curious to know how you guys prepare for these challenges. I understand the need for it, especially in web development, where skill sets are sometimes all over the place but I feel my anxiety gets in the way and doesn’t allow me to show my skills.
I’ve always wondered if any other profession is quite like ours where the interviews are long and require massive sessions of their work. I have heard that interviews for jobs have been getting tougher as of late, but as far as I know, most of my friends who are in other careers tell me they have interviews of 1 hour max. I remember one interview I did with a company in Wisconsin where the interview lasted, I kid you not, EIGHT HOURS, three of those spent on technical questions, one on personality questions, two on a tour, and two execs asking you questions about yourself.
I think it’s all over the place and pretty much depends on the company and kind of position you are applying for. I never know how to truly prepare either. I have interviewed with companies that make you solve quizzes and weird little algorithmic games that have nothing to do with the job you’re applying for, others that rely heavily on the whiteboard and ask you technical questions that really seem to be testing how good you are to memorize stuff rather than your programming skills. I’ve also interviewed with companies where they give you a coding assignment of some kind, and then a personal interview with the people you would be working with.
I recently interviewed for a position where they gave me the coding assignment, a pair programming exercise and then another coding exercise, plus one on one personal interviews. It was a long process but the coding challenges were completely related to what I would be doing on a day to day basis, so it all felt like it made a lot of sense… and I got the job.
HackerRank and other websites have prep material and a lot of company use those online IDEs (and their questions database), so it is helpful to get used to it.
I find depressive and disturbing how we constantly evaluate each other in this self-claimed “creative” industry. This whole tech interview became the the hiring standard in our industry, to the point there is a sub-industry for that (e.g.: books published, start-ups like HackerRank, etc)
Many companies know there is no correlation between job performance and interview performance. Actually, it is sometimes dysfunctional (e.g.: “B people only hire C people”.)
My last interview to yet-another-e-commerce start-up had 5 interviews, 2 dynamic programming questions, 1 mini-max questions, 1 3-sum question, and just one 1 API design question. All interviewers were no even trying to pretend to be nice but arrogant.
I don’t think there’s a right answer for this. No matter how much you read and research there’s no guarantee you’ll be faced with a problem you’ve come across. As an interviewer, I would hope the person hadn’t seen the question somewhere else because I’m not interested in whether you get the right answer, I’m interested in hearing how you reason about problems and how resourceful you are when encountering a problem you don’t know the answer to. After all, that’s the job you’ll be doing, not a job where you answer questions you already know. So try not to stress out about acing any test.
I’ve failed coding interviews before.It was one of the most embarrassing moments of my professional career. This is all because of I didn’t put in the prep time, and took the fact that my professional experience and ability to code would carry me through.
As posted by @foobar I googled for technical interview questions for google, amazon and so on and started solving it.
Currently, I’m practicing on https://www.interviewbit.com and solved around 100+ problems. I’ve learned so many new things in very short time.
Probably not the most exciting answer but I feel like most interviewers in good working environments will design these challenges with the hope that you won’t be able to immediately draw up the answer Will Hunting style. I guess it depends on the position being interviewed for, but It’s far more informative if you work through a problem with the team. It tells a lot about how you solve problems and, perhaps more importantly, how you work with a team of people. It’s also a good way to gauge your thresholds on asking for help and you openness to criticism.
I dread these challenges because I often let the anxieties of not having the answer get to me. But my opinion is a good-fit team will not weigh the outcome of a code challenge too heavily if everything else goes well. I’ve faced some live code challenges that we’re incredibly embarrassing and I could barely get started. I still got offers from some of those places because we otherwise had some really great conversations at a higher level.
Another thing that might help is to keep a lookout for opportunities to be inquisitive. I often used to want to just go quiet if I feel like I’m bombing or just go along even if I’m not familiar with something, but it just makes things more awkward. I’ve seen success in acknowledging what I don’t know and turning that into an opportunity to ask questions (even if it’s about where to start) and show persistence in solving a problem. The former may make it seem like you’re the type of person who will ignore a problem hoping it goes away. As an example, if an interviewer asks me about a book I haven’t read, I’ll ask them to repeat the title and write it down; those sorts of things.
A quick search for common challenges appropriate for the position can also be helpful to prepare. It’s no guarantee, but chances are the interviewer has done exactly the same thing.