Skip to main content

Posts

Showing posts from July 16, 2017

Top 5 Books for Language-Specific Interview Questions

Shrunk and White of Programming When you put down that you know a certain programming language or languages on your resume, you are setting certain expectations for the interviewer. I would strongly caution against putting down "expert" in a language unless you invented or are one of the language's maintainers. You are giving your interviewer the license to quiz you on programming language lore. There are a handful of concepts that are considered "standard" knowledge for each language which go broadly beyond syntax and general semantics. These concepts commonly involve major pitfalls in a given language and the idiomatic technique for negotiating these pitfalls and writing efficient and maintainable code. Note, although the concepts are considered idiomatic, you can seldom infer them from knowledge of syntax and semantics alone. The tricky part here is that most courses that teach a particular programming language do not cover these idiomatic techniques and e

Complexity Analysis for Interviews, Part 1

This is part 1 of a two part series. Skip over to part 2 you'd like . For coding interviews, we are interested in gauging the asymptotic efficiency of algorithms both in terms of running time and space. The formal study of analysis of algorithms is called complexity theory, a rich field with fascinating and complicated math. For interviews, we only need a few basic concepts. Asymptotic efficiency is concerned with how the running time or memory requirements of an algorithm grows with the input size, so it is intimately concerned with how well algorithms scale to larger inputs. This is important in Computer Science and in practice because whereas some algorithms work well enough for small inputs of say < 10 inputs, the running time and space grows far faster than the input size and thus large inputs of say 10s to millions of inputs becomes impractical (usually meaning taking hours or even years of execution time). Consider sorting. Say for the sake of argument that sorting

How to ace a tech coding interview (top 5 small things that help)

There is no shortcut. You have to know your stuff cold. However, keep it manageable. You have a finite amount of time to prepare so find out what are your weaknesses and double down on those until you know the material cold. I mean, to ace the interview, you really need to feel comfortable and be able to knock out problems with confidence. There are some important steps to take to improve your chances, but they all revolve around making yourself comfortable and knowing the material. Here are a few ideas for small steps that could make your next interviewing experience better: Get comfortable with the environment You can't control much about the environment of the interview. Who knows, maybe you run into a particularly pathological scenario where the AC just happened to break down and the interviewer is unwilling to open the window despite sweltering summer heat. There is little you can do about that except dress with contingency plans. More practically, you need to get comfor

What Are The Types of Questions Asked In Tech Interviews?

Many interview prep books focus on the bread and butter coding interviewing questions, but in real interviews your interviewer may pose other types of questions. It is important to be comfortable and come prepared for these other types of questions which depart dramatically for coding questions yet still may bear considerable weight in your interview evaluation. Behavioral & experience These are the standard non-technical interview questions where the interviewer asks about what you did in particular scenarios and how you performed in the roles listed on your resume. Language specific knowledge questions There is a manageable set of questions for each common programming language. There are questions for uncommon languages too should to encounter a company that emphasizes their use of some of the lesser known languages. Usually these questions attempt to probe for your knowledge of some differentiator and key feature of the programming language. For example, virtual functio

How to interview your interviewer, Part 1

You past the gauntlet, having nailed every single question your interviewer threw at you, and now the interviewer asks if you have any questions for him or her. Still recovering from the ordeal, your mind draws a big blank. You blurt out something incoherent about benefits and their mission. Before you get yourself into this situation, just as with coding questions, it is helpful to be prepared to interview your interviewer. Though we never can be sure of the outcome of interview, organized interviewers will leave time for you to ask questions about the company, nature of the work, and their experience. It is important that you make the best of this opportunity to show your sincere interest and to learn more about the company and team to determine if it is a right fit and what to expect. Of course, given this is a team member or even the supervisor, you may have to take what they say with a grain of salt, but asking some well thought out questions can help tease out what the work an