Monday, December 24, 2018

Список ресурсов и советов при подготовке к собеседованию в Amazon, Google, Microsoft

Хотел бы поделиться небольшим списком ресурсов (компактность важна в данном случае, временной ресурс чаще всего ограничен), который помог мне успешно пройти собеседование к компанию Amazon на позицию Software Development Engineer. Данный список является универсальным и поможет при подготовке к собеседованию в другие аналогичные компании, такие как Google, Microsoft, Facebook.

Алгоритмы

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

  • Data Structures 
    • Array 
    • Linked List 
    • Tree (Tree, Binary Tree, Binary Search Tree, Red-Black Tree, etc.) 
    • Heap 
    • Hash Table 
    • Stack 
    • Queue 
    • Trie 
    • Graph (both directed and undirected) 
  • Sorting 
    • Bubble Sort 
    • Merge Sort 
    • Quick Sort 
    • Radix/Bucket Sort 
  • Traversals 
    • Depth First Search 
    • Breadth First Search


Материалы для подготовки:



Как я практиковался. Конечно же, хорошо известные http://leetcode.com и http://hackerrank.com, больший упор я сделал на LeetCode.
Два дополнительных совета, которые я хотел бы дать, касающихся практики решения алгоритмических задач:

  • Обязательно практикуйте решение алгоритмических задач на листке бумаги или маркерной доске (сейчас все чаще на собеседованиях можно использовать компьютер для этого, но все же лучше быть готовым и к варианту с маркерной доской), стараясь проговаривать варианты решений и мыслительный процесс вслух.
  • Платформы HackerRank и LeetCode приучают расслабляться по поводу первой версии своего решения, можно не переживать скомпилируется ли код, будет ли он работать на 100 процентов корректно, ведь с помощью платформы на проверку этого уходят секунды и можно быстро будет поправить свой код, увидев ошибки компиляции или тестов. Мой совет при подготовке к собеседованию, постараться с первого же своего submit'а стремиться к правильному решению, ведь на собеседовании не будет платформы, которая быстро укажет на эти мелкие проблемы и придирчивый интервьювер может посчитать это серьезной проблемой.

System design

Материалы для подготовки:
Здесь, конечно, тоже необходимо попрактиковаться перед реальным собеседованием. Я несколько раз потренировался в решение задач по System Design, с использованием специально приобретенной для этого маркерной доски.

Поведенческие вопросы (behavioral interview)

В Amazon уделяют внимание и данной категории вопросов в процессе собеседования, поэтому я советую не оставлять данный вопрос без внимания и потратить какое-то время на подготовку к этому тоже:

Пробное интервью

Я бы порекомендовал найти товарища, который поможет провести пробное интервью и пройтись по озвученным выше темам. Я такого товарища найти в момент подготовки не смог, поэтому воспользовался данным сервисом http://www.gainlo.co, естественно, он платный, но считаю, что мне это помогло, даже несмотря на то, что опыт собеседований в компанию уровня Amazon у меня уже был.

1 comment:

  1. It is very good and very informative. There is a useful information in it.Thanks for posting...
    https://www.apponix.com/

    ReplyDelete