Answer the question
In order to leave comments, you need to log in
What algorithms and data structures are most often asked at a jun interview?
The question is directed rather to recruiters or people with more (?) experience interviewing for the position of a junior php developer.
I realize that the question is rhetorical and that this will be a search for the average temperature in the hospital, but still I would like to get your opinion.
Globally, I understand that, of course, the point is not in cramming algorithms, but in algorithmic thinking. I also understand that, most likely, it is not necessary to write a quick sort for a junior in a language that already has a function that implements it. From this the question arises: what do they ask, the main thing - why? Let's say I learned to bypass graphs in width and with the help of Dijkstra, I figured out quick and bubble sort, I'll figure it out with trees. Of course queues, stacks, hash tables. I just sincerely do not understand what to expect at the social security service and whether to wait at all, because opinions on this issue are almost always polar. Most importantly, what can the interviewer learn about my abilities if I explain to him how, say, the queue works?
Answer the question
In order to leave comments, you need to log in
Once, in response to similar questions, I asked the interlocutor - and why did you give it up? In addition to something indistinct, like this is a test of knowledge, he could not answer. Most of those who ask similar questions do not understand the essence of the interview. And as a rule, you should not pay attention to such an employer. Although - you are a June, you can try to gain experience.
As for me, the interlocutor does not care about your algorithms. ask about real projects.
Describe what you did on what, what you achieved, what seemed difficult or interesting.
For all 20+ interviews, they didn’t ask me about algorithms, write a maximum of bubble sort and some simple thinking tasks.
UPD . They also asked about B-tree trees, but this is in the context of indexes in MySQL, it is important to be able to explain on the fingers how an index search works
Do you want to know what is being asked or what should be being asked?
The classic thing they ask is to swap the values of two variables without using the third one and write a bubble sort algorithm. Will this give an understanding of you as a specialist? Of course not.
There is usually not enough time at the interview to really assess the level of knowledge. Therefore, unless the interlocutor is trying to assert himself at your expense, you should be asked the simplest things to understand the syntax of the language and on those points that you yourself will voice in the resume and during the preliminary conversation (for example, I would ask what hash tables are , since you yourself declare them). They can give a question on attentiveness and understanding of the basics. Again, I would ask you to find an error in a simple piece of code. Writing code in interviews, on paper, without access to reference books, can be a daunting task even for a cool developer, let alone for a junior, you need to take into account the stress of the fact of the interview.
And for a real assessment of the level of knowledge, there are three months of a standard trial period ...
Until you look like an interview, you won't know what to expect. Different interviewers ask different questions for different purposes. Even positions of juniors can be different - from for a specific task to "for growth".
I ask simple things, but with a half step to the side, or with incompletely formulated requirements. Like "there is an array with the names of animals, sort them by weight."
Surprisingly, there are people who write sort($array)
and say "done".
I listen to what counter questions are asked. I poke my finger at different places of implementation and ask how to fix it when it falls, or how to make it faster, reduce memory consumption, improve readability, adjust to some new requirements.
Yes, none, I don’t remember at all that they were asked or I asked, most of the programming is still not tied to writing your own algorithms and use ready-made solutions.
Usually they don’t ask to write an implementation directly or explain in detail, but they check the general understanding.
For example, why are B-trees used for indexes in a database, and not a binary tree?
Or how to sort the lines in a file that is larger than the available RAM?
In what cases can data sorting help us, and how? (search, merge, intersection)
What are the pros and cons of hash tables?
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question