What you should know to pass IT interview
If you are reading this, then maybe soon you are going to attend rather nervous and challenging event — IT interview, but be strong as soon as I can tell you what topics and material you have to learn ant revise before. Most of the topics will be related with C++, however in many cases knowledge is applicable to other languages and is useful to people who just want to dive deeper into the ordinary things.
Data Structures and Complexity
IT interviewers love to ask about how many data structures do you know and, which is more important, where each of them could be applied. You must tell time complexity information for insertion, search and delete even when you are woken in the middle of the night.
Simple cheat sheet will help you to do this.
Hi there! This webpage covers the space and time Big-O complexities of common algorithms used in Computer Science. When…bigocheatsheet.com
This is an obvious basis, but realization on the desk during an interview may become a challenging task. Practice much, remember the principles and try to generalize sorting functions with templates.
A visualization of the most famous Sorting Algorithms.sorting.at
Animation, code, analysis, and discussion of 8 sorting algorithms on 4 initial conditions.www.toptal.com
And of course, some fundamental books to read =)
“C” is where to start from
Don’t forget where it started! C language basis will obviously help you to better understand how things were done before STL containers and other useful features.
The authors present the complete guide to ANSI standard C language programming. Written by the developers of C, this…www.amazon.com
C++ templates may be hard to understand, but once you get used to the syntax, it become the powerful mechanism for code generalization. Of course somebody can say that templates is not “must have” knowledge in the language, but since all modern compilers almost completely support the C++11 standard…why not to use it.
I strongly recommend this two books to read. The first one is pretty old, but this book by Andrei Alexandrescu will blow your mind on the topic of possible meta-programming approaches. And the second one will help you to dive deeper in modern C++ features.
In Modern C++ Design , Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity…www.amazon.com
Coming to grips with C++11 and C++14 is more than a matter of familiarizing yourself with the features they introduce…www.amazon.com
Threading and synchronization
http://en.cppreference.com should be the default resource for your all C++ questions. You can also show your knowledge and experience in 3d party libraries usage, for example Threading Building Blocks.
Many companies like to ask you strange questions that requires algorithm thinking, creativity and logic in order to solve them.
On Quora there is a good collection with solutions.
Answer (1 of 11): Here is the list of best interview puzzles. 1. Crossing the Bridge Puzzle Puzzle : Four people need…www.quora.com
Maybe the most useful advice not only for all who just entered the world of software development but for experienced folks is to practice algorithmic tasks!
I can mention Codility (good thing to start with), HackerRank and TopCoder as the best places to train you algorithmic thinking! After each completed task you will mention that you are growing as a developer.
All in all, just start your own project and improve it every day. That is the most effective road to a success in IT word. Interest and self motivation is very valuable. Good Luck!