Рубрики
Без рубрики

Интервью инженера программного обеспечения Руководство по исследованию интервью для инженеров -программистов

Бен Рогоджан Интервью по разработке программного обеспечения, как и другие технические интервью, требуют много P … Tagged с карьерой, начинающими, SQL, Python.

По Бен Рогоджан

Интервью по разработке программного обеспечения, как и другие технические интервью, требуют большой подготовки. Существует ряд предметов, которые необходимо осветить, чтобы убедиться, что вы готовы к вопросам с алгоритмами, структурами данных, проектированием, оптимизации и, честно говоря, просто растущей корзиной предметов.

Поэтому я создал контрольный список в своем последнем раунде интервью, который охватывает многие популярные темы.

Чтобы помочь вам отслеживать ваш прогресс, мы собрали комплексный контрольный список тех же проблем, перечисленных ниже; Этот список можно найти здесь .

Согреться с классикой

  1. Fizz Buzz
  2. 560. Subarray сумма равна k
  3. Массивы: левое вращение
  4. Строки: изготовление анаграмм
  5. Nth Fibonacci

Как ты это сделал? Найдите минутку и оцените себя на эту классику. Нас спросили большинство из них в какой-то момент в процессе собеседования-и часто на раннем этапе в качестве вопросов в стиле сорняков. Они часто имеют меньшее отношение к алгоритмам и структурам данных, но все же требуют хорошего понимания петель и массивов (да, массив – это структура данных).

Алгоритмы и структуры данных

Проблемы с предварительным изучением

Прежде чем просматривать видеоконтент о структурах данных и алгоритмах, рассмотрите возможность попробовать эти проблемы ниже. Посмотрите, сможете ли вы ответить на них. Это поможет вам узнать, на чем сосредоточиться.

  1. 985. Сумма четных чисел после запросов
  2. 657. Робот возвращается в происхождение
  3. 961. N-повторяемый элемент по размеру 2n массив
  4. 110. Сбалансированное бинарное дерево
  5. 3. Самая длинная подстрока без повторяющихся символов
  6. 19. Удалить N -й узел Из конца списка
  7. 23. Merge K сортированные списки
  8. 31. Следующая перестановка

Алгоритмы и видеоролики структуры данных

Структуры данных

  1. Структуры и алгоритмы данных № 1 — Что такое структуры данных? — Видео
  2. Multi-Dim — Видео
  3. Динамические массивы — Видео
  4. Изменение размера массивов — Видео
  5. Структуры данных: связанные списки — Видео
  6. Основные связанные списки против массивов — Видео
  7. Указатели на указатели — Видео
  8. Структуры данных: Деревья — Видео
  9. Структуры данных: кучи — Видео
  10. Структуры данных: хэш -таблицы — Видео
  11. Проблема телефонной книги — Видео
  12. Структуры данных: стеки и очереди — Видео
  13. Использование стеков Last-In First-Out — Видео
  14. Структуры данных: Crash Course Компьютерная наука #14 — Видео
  15. Структуры данных: попытки — Видео

Алгоритмы

  1. Алгоритмы: поиск графика, DFS и BFS — Видео
  2. BFS (поиск по ширине) и DFS (поиск по глубине) — Видео
  3. Алгоритмы: двоичный поиск — Видео
  4. Обзор дерева бинарного поиска — Видео
  5. Алгоритмы Python для интервью — Видео
  6. Алгоритмы: рекурсия — Видео
  7. Алгоритмы: Bubble Sort — Видео
  8. Алгоритмы: слияние сортировки — Видео
  9. Алгоритмы: QuickSort — Видео

Большой О записка

  1. Введение в Big O Обозначения и сложности времени (структуры данных и алгоритмы № 7) — Видео
  2. Гарвард CS50 — Асимптотическая нотация — Видео
  3. Нежное введение в анализ сложности алгоритма — Сообщение
  4. Шпаргалка — Сообщение

Динамическое программирование

  1. Динамическое программирование (Подумайте как программист) — Видео
  2. Алгоритмы: Мемуализация и динамическое программирование — Видео
  3. 6 .006: Динамическое программирование I: Fibonacci, кратчайшие пути — Видео
  4. 6.006: динамическое программирование II: Текстовое оправдание, блэкджек — Видео
  5. Динамическое программирование — post

Манипуляция по струнам

  1. Вопрос и ответ на интервью кодирование: самые длинные последовательные персонажи — Видео
  2. Sedgewick — Подстроение поиска — Видео

Проблемы с интервью

  1. Интервью по кодированию Google — Универсальная ценностная проблема — Видео
  2. Вопрос и ответ на собеседование Google Кодирование № 1: Первый повторяющийся персонаж — Видео
  3. Найдите Min и Max Element в двоичном дереве поиска — Видео
  4. Найдите высоту двоичного дерева — Видео
  5. Проверьте, является ли двоичное дерево двоичного поиска или нет — Видео
  6. Что такое хвостовая рекурсия? Почему это так плохо? — Видео

Проблемы после исследования

Теперь, когда вы немного учились и посмотрели несколько видео, давайте попробуем еще несколько проблем!

  1. Больше больше
  2. 6. Цигзаговое преобразование
  3. 7. Обратное целое число
  4. 40. Комбинированная сумма II
  5. 43. Умножьте строки
  6. Массив Ларри
  7. Короткий палиндром
  8. 65. Допустимое число
  9. Больше больше
  10. Полный подсчет
  11. Домашнее задание Лили
  12. Общий ребенок
  13. 459. Повторная шаблон подстроения
  14. 27. Удалить элемент
  15. 450. Удалить узел в BST
  16. 659. Расколотый массив на последовательные последующие последствия
  17. Количество субррей с ограниченным максимумом
  18. Комбинированная сумма IV
  19. Лучшее время, чтобы купить и продавать акции с восстановлением
  20. Самая длинная повторяющаяся замена персонажа
  21. Обмена узлами в парах
  22. Бинарное дерево Взгляд правой стороны
  23. Удивление вложенного итератора списка
  24. Порядок на уровне бинарных деревьев
  25. Итератор бинарного дерева поиска
  26. Максимальная длина пар пар
  27. Разделенный связанный список в частях

Проблемы операционного программирования

Некоторые компании не зададут вам проблемы алгоритма. Вместо этого они могут больше сосредоточиться на реализации и операционных проблемах. Обычно они более ниша и связаны с практическими проблемами, например, зацикливание через данные и выполнение какой -либо задачи. Эти типы проблем обычно не требуют такого большого количества практики, потому что речь идет о том, чтобы принимать основные концепции, такие как массивы и хэшмапы, и отслеживание того, что вы делаете с ними.

  1. Проблема кенгуру
  2. Внесение записей
  3. Найдите строку итер
  4. Без понятия!
  5. Дни программиста
  6. Таблица лидеров
  7. Порядок слов
  8. Шерлок и квадраты
  9. Выравнивать массив
  10. Яблоки и апельсины
  11. Больше вопросов в стиле эксплуатации

Системная дизайн видео

Вопросы по проектированию системы – это важные вопросы, которые показывают, что вы больше, чем просто кодер. Вы должны быть в состоянии думать об общей картине как инженера. Где принадлежат определенные услуги, какие серверы вам нужны, как бы вы управляли трафиком и т. Д. Все эти идеи показывают, что вы можете разработать программное обеспечение, а не только кодировать то, что люди говорят вам, чтобы кодировать.

  1. Система парковки — Видео
  2. Какое приложение — Видео
  3. Uber Design — Видео
  4. Instagram — Видео
  5. Tinder Service — Видео

Операционные системы

Вопросы операционной системы немного более редки, но хорошо иметь убедительное понимание таких понятий, как потоки, планирование, память и т. Д., Даже если это просто базовое понимание. Очень смущающе, чтобы спросить, в чем разница между процессом и потоком, и не знать ответ.

  1. Обычно задаваемые вопросы собеседования операционных систем
  2. Что такое буфер перевода?
  3. Почему Round Robin избегает проблемы инверсии приоритета?
  4. Прогрозильный системный вызов — Что такое «inode» в файловой системе?
  5. Вопросы и ответы интервью операционной системы — Часть I
  6. Что такое ядро — Гэри объясняет
  7. Учебное пособие по алгоритму Round Robin (планирование процессора)
  8. Магия кэша LRU (100 дней Google Dev) — Видео
  9. MIT 6.004 L15: иерархия памяти — Видео
  10. Прерывания — Видео
  11. Планирование — Видео

Потоки

  1. Поток пользовательского уровня и поток уровня ядра
  2. Вступление в процессы и потоки — Видео
  3. Разница между процессом и потоком — Georgia Tech — Усовершенствованные операционные системы — Видео
  4. Разница между разбрызгиванием и многопоточным чтением

Объектно-ориентированный

Подобно операционным системам, не каждое интервью спросит вас о объектно-ориентированном программировании, но вы никогда не знаете. Вы хотите убедиться, что вы помните свои основы с курса Computer 162.

  1. Учебник по программированию Java — 49 — Наследство — Видео
  2. Учебник по программированию Java — 55 — Введение в полиморфизм — Видео
  3. Учебник по программированию Java — 58 — Аннотация и конкретные классы — Видео
  4. Учебник по программированию Java — 57 — Правила переоценки — Видео
  5. Учебник по программированию Java — 59 — Класс для удержания объектов
  6. Объектно-ориентированное программирование — Видео

Шаблоны проектирования

Если вы были похожи на нас, нас не учили обо всех различных моделях дизайна. Так что хорошо понять, как они работают и почему вы их используете. Некоторые вопросы интервью могут быть такими же простыми, как: «Зачем вам использовать фабричный класс?»

  1. Паттерн дизайна завода — Видео
  2. Образец дизайна наблюдателя — Видео
  3. Паттерн дизайна адаптера — Видео
  4. Образец дизайна фасада — Видео
  5. Цепочка ответственности дизайна проектирования — Видео
  6. Шаблон дизайна интерпретатора — Видео
  7. Учебник по образцу дизайна Singleton — Видео
  8. Глава 6 (Часть 1) — шаблоны (видео) — Видео
  9. Голова первого дизайна — Видео

SQL

Это последний раздел. Многим из вас, вероятно, не задают так много вопросов SQL. Тем не менее, я всегда думаю, что это хорошо иметь в заднем кармане.

SQL — Проблемы

  1. 262. Поездки и пользователи
  2. 601. Человеческое движение стадиона
  3. 185. Три лучших зарплаты отделения
  4. 626. Поменяться местами
  5. Hackerrank отчет
  6. 177. N -й Высшая зарплата
  7. Симметричные пары
  8. Занятия Размещение
  9. Инвентарь Олливандера

SQL — Видео

  1. IQ15: 6 Вопросы интервью для интервью SQL — Видео
  2. Узнание о Row_Number и аналитических функциях — Видео
  3. Расширенная реализация аналитических функций — Видео
  4. Расширенная реализация аналитических функций Часть 2 — Видео
  5. Wise Owl Sql Videos — Видео

Prop SQL -проблемы

  1. Бинарные деревья узлы
  2. Станция наблюдения за погодой 18
  3. Проблемы Печать основные номера
  4. 595. Большие страны
  5. 626. Поменяться местами
  6. Вопросы для интервью SQL: 3 технические упражнения (для аналитиков данных)

Интервью может быть сложным, потому что вы можете чувствовать, что не делаете никаких успехов. Наличие этого учебного пособия поможет вам отслеживать ваш прогресс и лучше прочитать, как у вас дела!

Удачи!

Кроме того, если вы хотите прочитать/посмотреть больше отличных постов или видео: Подключение к BigQuery с использованием ноутбука Jupyter на Saturn Cloud Part 2 Три книги Вы должны читать как ученый для данных Hadoop против реляционных баз данных Как алгоритмы могут стать неэтичными и предвзятыми Как улучшить стратегию, управляемую данными, Как разработать надежные алгоритмы 4 должны иметь навыки для ученых данных Лучшие практики SQL – Проектирование видео ETL

Оригинал: “https://dev.to/seattledataguy/the-interview-study-guide-for-software-engineers-764”