Skip to content

Commit b823567

Browse files
committed
Revision of text materials
1 parent f2d09b9 commit b823567

10 files changed

+69
-74
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11

2-
** Problem Definition:
3-
42
public class DirectoryFolder {
53
private Long id;
64
private String name;
75
private List<DirectoryFolder> subFolders;
86
}
9-
----------------------------------------------------------

materials/code-review-3.java renamed to materials/code-review/code-review-3.txt

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
=== Ревью кода ====================
21

3-
// Младший разработчик принес код нового сервиса на код ревью.
4-
// Надо сделать ревью кода сервиса DataService и метода создания/получения новой сущности Data.
2+
// Сделать ревью кода сервиса DataService и метода создания/получения новой сущности Data.
53
// Метод создания может вызваться из разных потоков и должен быть безопасен для такого режима использования.
64
// AccessService и DataRepository безопасны для использования из разных потоков.
75
// Предложить как можно сделать лучше и починить проблемы, если они есть.

materials/code-review.java renamed to materials/code-review/code-review.txt

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
2-
** Problem Definition:
1+
** Before refactoring:
32

43
@Service
54
@RequiredArgsConstructor

materials/preparation - common.txt

-10
This file was deleted.

materials/preparation - yandex.txt

-51
This file was deleted.

materials/preparation.txt

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
2+
* Как проходит процесс найма в Яндекс (и советы, как повысить шансы на успех + много материалов для подготовки):
3+
https://yandex.ru/jobs/pages/dev_interview
4+
5+
* Примеры задач, которые могут встретиться на интервью (6 задачек подходящие для Python, С++, С#, Java, JavaScript, Kotlin, Swift, Objective-C):
6+
https://contest.yandex.ru/contest/8458/enter/
7+
8+
* Пост на Хабре об алгоритмической секции с кодом:
9+
https://m.habr.com/ru/company/yandex/blog/449890/
10+
11+
* В этих видео мы разбираем решение алгоритмических задач:
12+
https://youtu.be/0yxjWwoZtLw
13+
https://youtu.be/zU-LndSG5RE
14+
15+
* Как проходят архитектурные секции собеседования в Яндексе: практика дизайна распределённых систем:
16+
https://habr.com/ru/company/yandex/blog/564132/
17+
18+
* Числа, которые точно нужно знать:
19+
https://github.com/donnemartin/system-design-primer/blob/master/README.md#appendix
20+
21+
* Практикум - подготовка к алгоритмической секции
22+
https://practicum.yandex.ru/algorithms-interview/
23+
24+
* FAQ с ответами на часто задаваемые вопросы:
25+
https://yandex.ru/jobs/faq
26+
27+
* Код:
28+
https://leetcode.com/problemset/all/
29+
https://leetcode.com/problemset/algorithms/
30+
https://leetcode.com/problems/reverse-linked-list/solution/
31+
https://www.geeksforgeeks.org/reverse-a-linked-list/
32+
https://www.interviewbit.com/practice/
33+
34+
* Материалы для подготовки:
35+
- Примеры наших задач:
36+
https://m.habrahabr.ru/company/yandex/blog/337690/
37+
https://m.habrahabr.ru/company/yandex/blog/340784/
38+
39+
- Оценка сложности:
40+
https://habr.com/ru/post/188010/
41+
42+
- Подборка по алгоритмам:
43+
https://github.com/tayllan/awesome-algorithms
44+
https://m.habr.com/ru/company/yandex/blog/449890/
45+
https://habr.com/ru/post/78728/
46+
47+
- Алгоритмы, которые чаще всего бывают в задачках:
48+
– сортировки (например, bubble sort или quicksort)
49+
– разворота одно/двусвязного списка
50+
– разворота строки
51+
– обхода дерева
52+
53+
---
54+
55+
First, it is highly recommended to start reading the following book (engineering sections):
56+
http://www.crackingthecodinginterview.com/contents.html
57+
58+
What to revise:
59+
• complexity of sorting algorithms
60+
• after solving every issue algorithm’s time complexity is usually discussed
61+
• DFS/BFS are frequently asked during coding interviews
62+
• solving some Dynamic programming problems would be useful because they are less intuitive than for example Greedy
63+
• Questions similar to climbing stairs: https://leetcode.com/problems/climbing-stairs/description/

materials/tasks.txt

+4-5
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ Propose algorithm for sorting a bunch of long strings situated on disk.
1818
We have restriction of RAM size: so only one string could be loaded into RAM simultaneously.
1919

2020

21-
* сортировки:
21+
* Сортировки:
2222
- быстрая
2323
- со стеками
2424
- на месте
2525
- блочная
2626

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

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

38-
* деревья:
38+
* Деревья:
3939
- добавление вершин
4040
- поиск вершин
4141
- удаление вершин
4242
- префиксные деревья
4343

44-
4544
* Search engine with suggestion ability
4645
We have search engine, it provides web-interface with text field where a query could be typed.
4746
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.
4847
File with the most popular searches generated 1 time per day, it contains 1 mln lines, sorted by popularity.
4948
Propose the design of such system.
5049

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

0 commit comments

Comments
 (0)