background preloader

Always be Coding

Facebook Twitter

Programming interview questions. A Gentle Introduction to Algorithm Complexity Analysis. Dionysis "dionyziz" Zindros <dionyziz@gmail.com> Introduction A lot of programmers that make some of the coolest and most useful software today, such as many of the stuff we see on the Internet or use daily, don't have a theoretical computer science background.

A Gentle Introduction to Algorithm Complexity Analysis

They're still pretty awesome and creative programmers and we thank them for what they build. However, theoretical computer science has its uses and applications and can turn out to be quite practical. In this article, targeted at programmers who know their art but who don't have any theoretical computer science background, I will present one of the most pragmatic tools of computer science: Big O notation and algorithm complexity analysis. This text is also targeted at the junior high school and high school students from Greece or anywhere else internationally competing in the International Olympiad in Informatics, an algorithms competition for students, or other similar competitions. Motivation Counting instructions 1.var M = A[ 0 ]; Big-O Algorithm Complexity Cheat Sheet. Whiteboarding — Tech Talk. If you are interviewing for a programming job it is almost inevitable that you will be asked to do some coding on a whiteboard.

Whiteboarding — Tech Talk

While there has been some criticism of the practice, it is widely employed by the tech giants — Google, Facebook, Microsoft, Amazon — and startups alike. In this post I’m not commenting on the validity of this style of interview (though I do personally find whiteboard coding a useful way to see how candidates work through problems) but instead pointing out some common pitfalls that can be avoided, given that this is how tech companies interview. Background To give some context, I worked at Google for 6 years and did just shy of 200 interviews. Google interviews are notoriously code heavy and the hiring committee will often contact interviewers if there aren’t code snippets in the feedback.

I’ve interviewed people who have gone on to make really valuable contributions. Slow Down Slow-down, chill-out, and try to write as neatly as possible. Ask questions Practice. Statistics. Algorithm Tutorials. ABC: Always Be Coding — Tech Talk. Be honest.

ABC: Always Be Coding — Tech Talk

Are you a good engineering candidate? How are you measuring yourself? How many companies have you interviewed at? What is your onsite-interview to offer ratio? Try the following formula (that I’ve totally made up in a vacuum and ultimately means nothing): # x = number of companies interviewed with onsite# y = number of offers receivedvalue = 100 * log(x) * y / x If your value is < 90, you should read this. Who am I? I don’t have a college degree. Since then I’ve worked at Double Helix, Namco Bandai, Google, Obvious and Square.* I’ve also received offers from companies such as Naughty Dog, Activision, Riot Games, Blizzard, Pinterest, Goldman Sachs, and more.

I’ve interviewed at least 500 engineering candidates. I will tell you that there is absolutely no sure-fire way to getting hired. The best I can do is tell you how you can be adequately prepared. Technical Tips ABC (Always Be Coding). General Tips I can’t claim to be an expert here. Know why you’re there.