Information Technology and Computer Science

In principle, Information Technology and Computer Science are very similar things. We, like them, write software, but at the same time we communicate mainly in Russian. At interviews, we ask theory and practice just like they do. True, in different spoken languages, and in the interview processes there is a series of fashion trends, as it is logical to assume, they are slightly different here. They differ so slightly that without preparation of the Western interview process it will be extremely difficult for a Russian developer to go through.





For example, solving algorithmic problems for a developer is more important than knowing a language specification. The process of interviewing a Java developer in Moscow will start with Java Core and end with JVM (Java Virtual Machine) and JMM (Java Memory Model) in particular, then we will go through programming patterns, perhaps architecture problems. They will have System Design instead of patterns and architecture. In European and American companies, you will first want to see the ability to write code efficiently. And if you want to try your hand at Google or Facebook, or any other IT giant company, you will be assigned an interview with a shared text editor, namely a text editor, without IDE prompts, where you will have the opportunity to write a solution to a problem and explain it words. You will be interviewed by a personwhose brain will resemble a compiler. He will not rely on chance, he will know exactly how this code works or this code with a defect. 





I suspect this love of algorithms stems from the practice of the heterogeneity of those company stacks. It turns out that if you are looking for a developer with specific skills in a certain language, you narrow down the number of people you can potentially consider for a job. Therefore, your experience will be counted as the sum of years and will rely on specific coding skills when making decisions. However, some banks in Moscow are gradually beginning to use interview methodologies with algorithms and code, and people who are able to solve algorithmic problems really write much more conscious code, they are quicker to understand the code of other developers than those who cannot solve such problems on the fly - this is verified by personal experience.





But despite the fact that the set of algorithmic problems is standard, if you graduated from our university, for example, you know English quite well, but the problem formulated in English for you will not be easily solved. It seemed that the word hammered in from school was given the same as given, but in practice it takes some time to get used to and begin to perceive linguistic constructions intuitively. Without such a habit, it is impossible to effectively perceive the condition of the problem.





, , , , , , . , , . , , . - , , .





, , , (behavior interview) , , , … . : , ambiguity . , .





, - , , Java , , .








All Articles