Answer the question
In order to leave comments, you need to log in
Java developer: knowledge of classical algorithms - what is it about?
Hello!
I noticed that in the requirements for some positions there is a set of words that “knowledge of classical algorithms” and data structures is required.
For example, it can be found here: company.yandex.ru/job/vacancies/dev_infra_java.xml
What, in your opinion, can be included in the list of classical data structure algorithms? Thank you.
Answer the question
In order to leave comments, you need to log in
Hehe. In 99% of cases, I will ask about how the hashmap works, what is the speed of accessing the elements of ArrayList vs LinkedList, HashMap.
Interlocutors who consider themselves advanced may ask what algorithm lies in the Arrays.sort method.
Interviewers with FSV over 9000 may ask what algorithm is used in TreeMap and what it is.
The books recommended above are undeniably correct, but let's take a sober look at the life of a java programmer, their interviews, the people who are interviewed, and what tasks candidates will generally have when they start.
Sorting algorithms, search algorithms, algorithms for traversing graphs / trees, algorithms for working with lists (singly-linked / doubly-linked, etc.) and so on ... In general, basic things from the first courses of the university ...
As a rule, this book means here - www.ozon.ru/context/detail/id/4788523/ (or its analogues).
Started learning Java recently, but still here are my 5 cents.
Actually, here it doesn’t even really depend on the programming language: any programmer, as it were, should know classical structures and algorithms: lists, queues, sets, hash arrays, etc. Algorithms also include: various sorts, search, etc.
Specifically in Java: Thinking In Java, chapter 11
But, of course, the more canonical work on structures, and especially on algorithms, is Knuth's The Art of Programming
Sedgwick or Laforet .
For a java programmer, these 2 books completely cover the list of classical algorithms and data structures.
In my opinion, both books are equal in terms of simplicity of description and volume of material. Both use Java for examples.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question