Skip to content

Commit

Permalink
Revision of text materials
Browse files Browse the repository at this point in the history
  • Loading branch information
andrei-punko committed Dec 27, 2024
1 parent f2d09b9 commit b823567
Show file tree
Hide file tree
Showing 10 changed files with 69 additions and 74 deletions.
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@

** Problem Definition:

public class DirectoryFolder {
private Long id;
private String name;
private List<DirectoryFolder> subFolders;
}
----------------------------------------------------------
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
=== Ревью кода ====================

// Младший разработчик принес код нового сервиса на код ревью.
// Надо сделать ревью кода сервиса DataService и метода создания/получения новой сущности Data.
// Сделать ревью кода сервиса DataService и метода создания/получения новой сущности Data.
// Метод создания может вызваться из разных потоков и должен быть безопасен для такого режима использования.
// AccessService и DataRepository безопасны для использования из разных потоков.
// Предложить как можно сделать лучше и починить проблемы, если они есть.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

** Problem Definition:
** Before refactoring:

@Service
@RequiredArgsConstructor
Expand Down
10 changes: 0 additions & 10 deletions materials/preparation - common.txt

This file was deleted.

51 changes: 0 additions & 51 deletions materials/preparation - yandex.txt

This file was deleted.

63 changes: 63 additions & 0 deletions materials/preparation.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@

* Как проходит процесс найма в Яндекс (и советы, как повысить шансы на успех + много материалов для подготовки):
https://yandex.ru/jobs/pages/dev_interview

* Примеры задач, которые могут встретиться на интервью (6 задачек подходящие для Python, С++, С#, Java, JavaScript, Kotlin, Swift, Objective-C):
https://contest.yandex.ru/contest/8458/enter/

* Пост на Хабре об алгоритмической секции с кодом:
https://m.habr.com/ru/company/yandex/blog/449890/

* В этих видео мы разбираем решение алгоритмических задач:
https://youtu.be/0yxjWwoZtLw
https://youtu.be/zU-LndSG5RE

* Как проходят архитектурные секции собеседования в Яндексе: практика дизайна распределённых систем:
https://habr.com/ru/company/yandex/blog/564132/

* Числа, которые точно нужно знать:
https://github.com/donnemartin/system-design-primer/blob/master/README.md#appendix

* Практикум - подготовка к алгоритмической секции
https://practicum.yandex.ru/algorithms-interview/

* FAQ с ответами на часто задаваемые вопросы:
https://yandex.ru/jobs/faq

* Код:
https://leetcode.com/problemset/all/
https://leetcode.com/problemset/algorithms/
https://leetcode.com/problems/reverse-linked-list/solution/
https://www.geeksforgeeks.org/reverse-a-linked-list/
https://www.interviewbit.com/practice/

* Материалы для подготовки:
- Примеры наших задач:
https://m.habrahabr.ru/company/yandex/blog/337690/
https://m.habrahabr.ru/company/yandex/blog/340784/

- Оценка сложности:
https://habr.com/ru/post/188010/

- Подборка по алгоритмам:
https://github.com/tayllan/awesome-algorithms
https://m.habr.com/ru/company/yandex/blog/449890/
https://habr.com/ru/post/78728/

- Алгоритмы, которые чаще всего бывают в задачках:
– сортировки (например, bubble sort или quicksort)
– разворота одно/двусвязного списка
– разворота строки
– обхода дерева

---

First, it is highly recommended to start reading the following book (engineering sections):
http://www.crackingthecodinginterview.com/contents.html

What to revise:
• complexity of sorting algorithms
• after solving every issue algorithm’s time complexity is usually discussed
• DFS/BFS are frequently asked during coding interviews
• solving some Dynamic programming problems would be useful because they are less intuitive than for example Greedy
• Questions similar to climbing stairs: https://leetcode.com/problems/climbing-stairs/description/
9 changes: 4 additions & 5 deletions materials/tasks.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ Propose algorithm for sorting a bunch of long strings situated on disk.
We have restriction of RAM size: so only one string could be loaded into RAM simultaneously.


* сортировки:
* Сортировки:
- быстрая
- со стеками
- на месте
- блочная

* хеш-таблицы:
* Хеш-таблицы:
- пробирование
- линейное
- квадратичное
Expand All @@ -35,18 +35,17 @@ We have restriction of RAM size: so only one string could be loaded into RAM sim

* Сочетания, размещения, с повторениями/без

* деревья:
* Деревья:
- добавление вершин
- поиск вершин
- удаление вершин
- префиксные деревья


* Search engine with suggestion ability
We have search engine, it provides web-interface with text field where a query could be typed.
We want to add the next feature: when a user starts typing - he will get a suggestion with 10 most popular queries started from typed characters.
File with the most popular searches generated 1 time per day, it contains 1 mln lines, sorted by popularity.
Propose the design of such system.

* Others
* Multithreading
Реализовать ReadWriteLock на базе обычного Lock

0 comments on commit b823567

Please sign in to comment.