Вики-интервью — Руководство для инженеров-программистов
Как правило, собеседование на инженера-программиста состоит из 4 видов раундов:
- Технический раунд
- Дизайн высокого уровня (HLD) Раунд
- Низкоуровневый дизайн (LLD) Раунд
- Поведенческий раунд
Количество раундов для каждой роли будет зависеть от компании. Например, у Amazon обычно есть 4 раунда, в которых первые 2 раунда будут связаны со структурой данных (DS) и алгоритмами, а остальные будут раундами проектирования, если они предназначены для роли SDE2+. Для них они не проводят отдельный раунд для поведенческих, вместо этого они задают пару вопросов лидерства в каждом раунде.
Каждый раунд важен, и мы должны уделять время каждому. Обычно у первокурсников, окончивших колледж, не будет раундов HLD и LLD. Но вместо этого они могут ожидать раунд OO (объектно-ориентированный), где они проверяют ваши навыки объектно-ориентированного обучения.
Здесь, в этой вики, я поделюсь всем контентом, с которым я столкнулся во время подготовки к интервью. Я делился курсами, книгами, блогами и репозиториями GitHub, которые были очень полезны для меня во время подготовки к собеседованию. Это не означает, что вы должны следовать одним и тем же на собеседованиях, поскольку у каждого свой стиль обучения. Но вы можете использовать эту вики в качестве руководства или справочника для подготовки. В конце концов, именно вы посещаете собеседование.
Я расскажу о каждом раунде отдельно. Начнем с технического раунда.
Технический раунд
Один из самых важных туров как для первокурсников, так и для опытных. Здесь они проверяют ваши знания структуры данных и алгоритмов. Эти раунды не проверяют ваши знания продвинутых алгоритмов, которые существуют для решения сложных задач. Но вы должны, по крайней мере, знать самые распространенные из них. Я видел, как у людей возникают очень странные и бесполезные задачи, которые можно решить только с помощью некоторых уникальных алгоритмов. Но это очень редко. Я не буду предлагать проводить там время, так как мы должны полагаться на основную вероятность столкнуться с этим. Если вы хотите увидеть общий шаблон вопросов для интервью, вы можете посетить следующий веб-сайт (https://algo.monster/problems/stats)
Вещи, которые вы не должны пропустить:
Структура данных,
Массив, связанный список, стек, очередь, куча, карта, набор, тройка, дерево, BST
Алгоритмы
Сортировка, динамическое программирование, жадные алгоритмы, поиск, разделяй и властвуй и графические алгоритмы.

Дизайн высокого уровня
Он проверяет ваши знания о проектировании общей архитектуры системы. Он включает описание системной архитектуры, структуры базы данных и краткое описание систем, служб, платформ и взаимосвязей между модулями. Раньше вопросы были очень расплывчатыми вроде дизайна WhatsApp, дизайна Redbus и т. д. Здесь нужно придумать дизайн менее чем за 30–45 минут в зависимости от интервьюера. Здесь интервьюер не ожидает, что вы будете кодировать, но вы должны быть в состоянии спроектировать базы данных, API и т. д., если вас попросят.
Низкоуровневый дизайн
Он содержит подробное описание каждого модуля, что означает, что он включает реальную логику для каждого компонента системы и подробно описывает спецификацию каждого модуля. Здесь вам нужно кодировать классы, интерфейсы и т. д. Вы также должны очень хорошо знать шаблоны проектирования. Если вы знаете объектно-ориентированный язык, то это будет плюсом.

Поведенческие раунды
Я считаю, что здесь мне не нужно давать никакого представления. Это один из раундов, которые раньше люди пропускали, но, на мой взгляд, на подготовку тратили как минимум день. Большинству интервьюеров на самом деле небезразлично, что вы говорите в этом раунде. Amazon, Google и т. д. действительно очень серьезно относятся к этим раундам, и вы должны знать, какие вопросы задают, и какой стратегии следует придерживаться, чтобы ответить на эти вопросы.
Ресурсы:
Технический раунд
1.https://www.geeksforgeeks.org/top-algorithms-and-data-structures-for-competitive-programming/(Самое важное)
2.https://takeuforward.org/interviews/strivers-sde-sheet-top-coding-interview-problems/(Проблемы)
3.https://www.youtube.com/user/purpongie(Руководство)
4.https://cses.fi/problemset/list(Проблемы)
5.https://github.com/donnemartin/interactive-coding-challenges(Обучение)
6.https://leetcode.com/discuss/interview-question/2001789/Collections-of-Important-String-questions-Pattern(Проблемы)
7.https://github.com/jwasham/coding-interview-university(Обучение)
8.https://leetcode.com/discuss/interview-question/2069641/the-only-lists-you-need-for-your-interview-preparation(Обучение)
ДВУ раунд
1.https://www.youtube.com/c/SystemDesignInterview/videos(Руководство)
2.https://www.youtube.com/watch?v=0163cssUxLA&list=PLA8lYuzFlBqAy6dkZHj5VxUAaqr4vwrka(Руководство)
3.https://www.youtube.com/watch?v=xpDnVSmNFX0&list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX(Руководство)
4.https://blog.bytebytego.com/?utm_source=linkedin_post(Блог)
5.https://leetcode.com/discuss/general-discussion/125038/system-design-interview-prep(Обучение)
6.https://www.educative.io/courses/grokking-modern-system-design-interview-for-engineers-managers(Платный курс)
7.https://github.com/donnemartin/system-design-primer(Обучение)
8.https://github.com/checkcheckzz/system-design-interview(Обучение)
LLD Раунд
1.https://workat.tech/machine-coding/practice(Проблемы машинного кодирования)
2.https://www.youtube.com/playlist?list=PL564gOx0bCLouDCUMtmj6hMEu1JS7QYEr(Руководство)
3.https://github.com/prasadgujar/low-level-design-primer/blob/master/questions.md(Проблемы)
4.https://betterprogramming.pub/how-to-ace-the-low-level-design-interview-3f1be6401070(блог)
Поведенческий раунд
1.https://www.youtube.com/watch?v=RzlUQCy84rQ(Принцип лидерства Amazon)
2.https://leetcode.com/discuss/interview-question/1729926/a-guide-for-behavioral-round(гид)
3.https://drive.google.com/file/d/1sb6Kll5enH3H70uaNwnjWPkN9pNtSu9-/view(pdf)
4.https://igotanoffer.com/blogs/product-manager/behavioral-interview-questions-tech-companies#techniques(вопросы в фейсбуке)
5.https://leetcode.com/discuss/interview-question/437082/Amazon-Behavioral-questions-or-Leadership-Principles-or-LP(вопросы Amazon LP)
6.https://www.techinterviewhandbook.org/behavioral-interview-questions/(Вопросы)
7.https://www.principle.cards/(Проверь себя)
Чтобы быть в курсе последних обновлений интервью-вики, вы можете следить за моим репозиторием GitHub.https://github.com/aashan007/Interview-wiki