You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/Вопросы на подумать/Clean code, SOLID, patterns and refactoring.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,4 +17,5 @@ bookHidden = true
17
17
### 6. В первом сервисе произошло событие, закоммитили в БД, нужно отправить сообщение в кафку. Кафка реализует мост at least once т.е. может много сообщений в кафку. Если транзакция закоммителась мы должны гарантированно другому сервису сообщать, что событие произошло. Какие паттерны реализовать?
18
18
### 7. Общаемся с сервисом по REST, получили сетевую ошибку, кажется, что можно вызывать заново. Что настроить на своей стороне? - паттерн Retry - Если соседний сервис очень слабый, то постоянный retry еще больше его положит - увеличить промежутки времени между retry или паттерн circuit breaker
19
19
### 8. Какие концепции в SOLID вы считаете самыми важными? А какими иногда в угоду бизнеса, скорости можно пренебречь?
20
-
### 9. Принцип Open-closed подразумевает изменение не только через наследование или имплементацию интерфейсов. Он про то, что старый код не надо трогать, но можно расширять. Кроме Enum, как еще можно расширить старый код? (адаптеры, декораторы собесещующему не подошли)
20
+
### 9. Принцип Open-closed подразумевает изменение не только через наследование или имплементацию интерфейсов. Он про то, что старый код не надо трогать, но можно расширять. Кроме Enum, как еще можно расширить старый код? (адаптеры, декораторы собесещующему не подошли)
21
+
### 10. Создали абстрактный терминал класс и у него есть метод по работе с картой. Нужно реализовать этот абстрактный класс?
Copy file name to clipboardExpand all lines: content/Вопросы на подумать/Debugging and performance.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,4 +39,6 @@ bookHidden = true
39
39
### 28. Ваша задача сделать REST API. С помощью каких инструментов будете его проверять?
40
40
### 29. Вам нужно протестировать взаимодействие двух сервисов. Один эталонный, второй вы разрабатываете. Какой подход к тестированию выбрать?
41
41
### 30. У нас есть сервис с двумя репликами. В какой то момент пользователей стало много и нагрузка на сервисы стала возрастать. Что нужно сделать, чтобы выдержать эту нагрузку?
42
-
### 31. У нас есть форма, через которую заводим пользователей в систему. Оператор нажимает на кнопку добавить пользователя и нечаянно нажимает два раза. Как на беке отобразиться эта ситуация? Как исправить проблему?
42
+
### 31. У нас есть форма, через которую заводим пользователей в систему. Оператор нажимает на кнопку добавить пользователя и нечаянно нажимает два раза. Как на беке отобразиться эта ситуация? Как исправить проблему?
43
+
### 32. У тебя произошел SteckOverFlow или OutOfMemory. Представим, что у тебя продакшен сервис. Эти ошибка происходят в проде. Твои действия?
44
+
### 33. Система работает 24/7, нельзя ее останавливать. Микросервисы. 5 подов поднято (экземпляров одного сервиса). Они работают с одной БД. Поступила задача переименовать колонку в БД. Как можно выстроить процесс без остановки приложения?
Copy file name to clipboardExpand all lines: content/Вопросы на подумать/Git and build systems.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,4 +25,5 @@ bookHidden = true
25
25
### 14. Ты пришел на новое место работы. Тебе дают ссылку на репозиторий, ты скачиваешь проект. Начинаешь собирать проект и у тебя не выкачиваются библиотеки из репозитория. С чем это может быть связано? Зависимости из мавен репы не скачиваются.
26
26
### 15. Библиотеки у тебя скачались, но при поднятии проекта у тебя падает приложение с ошибкой, что версии библиотек конфликтуют. Как решить эту проблему?
27
27
### 16. Есть коммит, был предыдущий коммит, нам надо откатиться до предыдущего коммита так, чтобы git отслеживал изменения и более позднего коммита тоже
28
-
### 17. У вас новый сервис и несколько разработчиков будут контребьютить. Как бы вы организовали процесс в гите?
28
+
### 17. У вас новый сервис и несколько разработчиков будут контребьютить. Как бы вы организовали процесс в гите?
29
+
### 18. Если кто-то уже влил в develop ветку свои изменения, а вы поправили какой-то класс и делаете pull request (merge request). И происходит конфликт. Как решаете конфликты?
Copy file name to clipboardExpand all lines: content/Вопросы на подумать/Java core, Collections, OOP, Lambda, Immutable.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -125,4 +125,8 @@ bookHidden = true
125
125
### 114. При проектировании системы, вы обычно отделяете в архитектуре ввод и вывод от самой бизнес функуиональности. Загрузка класса, когда вы грузите ввод-вывод может быть из разных источников, а само формирование класса у вас отдельно. Представьте, что есть метод, который берет данные и превращает их в класс. Какие у него могут быть параметры
126
126
### 115. Есть список POJO классов в которых два поля, ключ и значение. Надо преобразовать в мапу без потери данных. Как это сделать?
127
127
### 116. Как можем напечатать числа от нуля до миллиона не используя циклы? Нельзя чтобы вызвался StackOverFlow
128
-
### 117. У нас есть список, ссылки которого замкнуты сами на себя. Из вне к этому списку ссылок нет. Отработает ли GC?
128
+
### 117. У нас есть список, ссылки которого замкнуты сами на себя. Из вне к этому списку ссылок нет. Отработает ли GC?
129
+
### 118. Есть ArrayList и LinkedList, в каждом по 1 млн объектов. Тебе нужно добавить элемент по индексу. Индекс в рантайме вычисляется. Почему?
130
+
### 119. Представим, что у нас есть объект Car. У объекта есть ArrayList деталей. Детали тоже объекты. Какую инкапсуляцию применить в данном случае?
131
+
### 120. На вход передается массив, а на выход число. Цикл, которых ходит по каждому индексу в массиве и что-то считает. Что нужно сделать, чтобы сложность по памяти была O(n)?
132
+
### 121. Когда мы делаем new Object что будет в Stack, а что в Heap? А если используем примитив?
0 commit comments