Здесь собирается большая коллекция вопросов и ответов на них, необходимых не только для прохождения собеседований, но и для комплексного развития кругозора
Содержание
- Разогрев
- Общие вопросы
- Вопросы по шаблонам проектирования
- TODO
- Вопросы про микросервисы
- TODO
- Вопросы про инфраструктуру и деплой
- Что такое сине-зеленый деплой(blue-green deployment)?
- Что такое Canary (канареечные развертывания)?
- Что такое Dark (скрытые) или А/В-развертывания?
- coming soon
- Вопросы про кеширование и базам данных
- Что такое индексы в MySQL, как и для чего их использовать и создавать?
- Что такое составной индекс, как и для чего их использовать и создавать?
- Как использовать индексы в JOIN запросах Mysql?
- Что такое частичные индексы, как и для чего их использовать и создавать?
- В чем отличия InnoDB и MyISAM?
- Возможен ли JOIN со вложенными запросами, как?
- Что такое дедлоки (deadlock), почему возникают, как можно недопускать?
- Что такое HAVING, что он делает как и зачем его использовать?
- Разница между WHERE и HAVING и можно ли использовать HAVING без группировки данных?
- Что такое EXPLAIN?
- Как узнать версию Mysql?
- Как можно оптимизировать ORDER BY RAND()?
- Как удалить индекс MySQL?
- Как правильно выбрать тип данных в Mysql, когда нужны:
- NULL значения, когда лучше использовать?
- Целые числа (TINYINT, SMALLINT, INT, BIGINT) и UNSIGNED, длинна числовых типов?
- Большие числа: demical, что это и как работает?
- Float | Double VS Demical, в чем разница, что и как использовать?
- Строки VARCHAR и CHAR, отличия когда лучше использовать?
- BLOB / TEXT, чем отличаются, как выполнять сортировку по полям данного типа?
- ENUM, когда может пригодится?
- DATETIME / TIMESTAMP, в чем их разница, какие максимальные значения?
- Когда и зачем может пригодиться денормализация данных?
- Что такое шардинг и репликация?
- coming soon
- Вопросы по языку Golang
- Что из себя представляет тип данных string в языке Golang? Можно ли изменить определенный символ в строке? Что происходит при склеивании строк?
- Вытекающий вопрос — как эффективно склеивать множество строк?
- Что будет происходить при конкурентной записи в map? Как можно решить эту проблему?
- Расскажите о ООП в Golang.#1
- Какое будет значение у переменной x после выполнения программы?
- Какое значение примет выражение (true && false) || (false && true) || !(false && false)?
- Мы знаем, что в десятичной системе самое большое число из одной цифры - это 9, а из двух - 99. В бинарной системе самое большое число из двух цифр это 11 (3), самое большое число из трех цифр это 111 (7) и самое большое число из 4 цифр это 1111 (15). Вопрос: каково самое большое число из 8 цифр? (Подсказка: 101-1=9 и 102-1=99)
- Что выведет следующая программа?
- Что выведет следующая программа?
- Как работает Garbage Collection в Go?
- Что такое interface, как они работают в Go?
- Что такое slice, как устроены и чем отличаются от массивов?
- Что такое len и capacity в slice Go?
- Возможно ли предугадать, что GC отработает за константное время N?
- Что будет, если создать канал и отправить туда запись, но у него нет читателей?
- Вопросы о распределённых системах
- Как тестировать распределённую систему?
- coming soon
- Вопросы по организации кода
- Как тесты и TDD влияют на организацию кода?
- В чём разница между сцеплением и связанностью?
- Почему в TDD тесты пишутся прежде кода?
- Если у вашего кода плохая организация, как вы это поймёте?
- Вопросы от Данила Подольского на позицию Senior Golang Backend Developer в компанию Evrone
- Go — императивный или декларативный? А в чем разница?
- Что такое type switch?
- Как сообщить компилятору, что наш тип реализует интерфейс?
- Как работает append?
- Какое у slice zero value? Какие операции над ним возможны?
- Как устроен тип map?
- Каков порядок перебора map?
- Что будет, если читать из закрытого канала?
- Что будет, если писать в закрытый канал?
- Как вы отсортируете массив структур по алфавиту по полю Name?
- Что такое сериализация? Зачем она нужна?
- Сколько времени в минутах займет у вас написание процедуры обращения односвязного списка?
- Где следует поместить описание интерфейса: в пакете с реализацией или в пакете, где этот интерфейс используется? Почему?
- Предположим, ваша функция должна возвращать детализированные Recoverable и Fatal ошибки. Как это реализовано в пакете net? Как это надо делать в современном Go?
- Главный недостаток стандартного логгера?
- Есть ли для Go хороший orm? Ответ обоснуйте.
- Какой у вас любимый линтер?
- Можно ли использовать один и тот же буфер []byte в нескольких горутинах?
- Какие типы мьютексов предоставляет stdlib?
- Что такое lock-free структуры данных, и есть ли в Go такие?
- Способы поиска проблем производительности на проде?
- Стандартный набор метрик prometheus в Go -программе?
- Как встроить стандартный профайлер в свое приложение?
- Overhead от стандартного профайлера?
- Почему встраивание — не наследование?
- Какие средства обобщенного программирования есть в Go?
- Какие технологические преимущества языка Go вы можете назвать?
- Какие технологические недостатки языка Go вы можете назвать?
- Популярные задачи на собеседованиях
Как мне добавить свой вопрос-ответ?
Maintainers
zikwall |
dreddsa5dies |