Шпаргалка за стажанта: стъпка по стъпка решение на задачи на интервюто в Google

Шпаргалка за стажанта: стъпка по стъпка решение на задачи на интервюто в Google

Миналата година последните два месеца прекарах в подготовка за интервю за стаж в Google (Google Internship). Всичко мина добре: получих работа и отличен опит.

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

Убеден съм, че всеки човек може успешно да премине интервю в големи технологични компании, просто е нужно известно време, за да разбере как са организирани тези интервюта и да се подготви за тях.

Моята шпаргалка ще ви стигне за подготовка за всяко техническо интервю, независимо дали е в Google, стартъп или вашето първо стажуване. Тя ще помогне да се чувствате по-уверени както по време на подготовката, така и на самото интервю.

Препоръчваме безплатни интензиви по програмиране за начинаещи:
Основи на Java само за 3 дни — 8–10 август;
Пишем първия модел на машинно обучение — 12–14 август;
Разработка на мессенджър на Python — 15–17 август

Шпаргалка за техническо интервю

Уебсайтове

Pramp

На този ресурс можете да практикувате провеждане на интервюта. Участниците интервюират един друг редуващо се (има аудио и видео канали) и могат да ползват общ редактор на код. Най-вероятно в началото на такива интервюта ще ви е трудно, и ще се чувствате неловко. Но колкото повече практикувате, толкова по-уверено ги минавате, а истинското интервю след това ще ви се стори лесно.

Codesignal

Добри въпроси от реални интервюта в Facebook, Google, Microsoft и др. Препоръчвам да използвате този сайт заедно с ресурсите за практикуване на кодиране, включително изучаване на алгоритмична сложност.

Книги

Cracking the Coding Interview

Моите любими части: Interview Preparation Grid (стр. 32), раздела, посветен на поведението при интервюта, а също и Interview Questions: Data Structures (стр. 88–107). Ако преди не сте срещали термина „алгоритмична сложност“, сега е времето, книгата отлично вводи в темата.

Какво да правя на интервюто?

  • Не прекъсвайте комуникацията и отговаряйте честно. Когато обмисляте въпроса, разсъждавайте на глас, описвайте хода на мислите си.
  • Добавете малко хумор в комуникацията, не се страхувайте да се шегувате. Опитайте се да се насладите на обмяната на идеи.
  • Записвайте важна информация.
  • Задавайте въпроси и се опитвайте да използвате това, което научихте от интервюиращия.

Интервюто стъпка по стъпка

А ето и списък за подготовка на отговори за интервю. Не е необходимо да използвате всички точки, пропускайте тези, които считате за ненужни. Най-важното е да се опирате на здравия разум. Дори ако не стигнете до края на списъка, нищо страшно няма да се случи.

  1. Прочетете въпроса.
  2. Разгледайте всички данни, както входящи, така и изходящи, и обърнете внимание на страничните ефекти.
  3. Уточнете същността на задачата и представете вашите предположения, така че интервюиращият да разбере потока на вашите мисли. Например, какви ще бъдат обемите на данните и кой ще бъде потребителят.
  4. Намерете пример и го представете на интервюиращия, за да сте сигурни, че правилно разбирате задачата. Не се страхувайте да отделите време, за да се запознаете с условията на задачата. Колкото по-добре я разберете, толкова по-бързо ще намерите оптималното решение.
  5. Разработете алгоритъм. Опитайте се да решите подобна, но по-малко сложна задача. Записвайте мислите си, разглеждайте примери в черновик.
  6. Проверете алгоритъма си с примери, за да се уверите, че кодът работи правилно. Проверете всички критични и погранични случаи.
  7. Оценете сложността на алгоритъма по време и памет.
  8. Ако успеете да измислите по-ефективно решение на проблема, върнете се на точка 4.
  9. Напишете решение, използвайки избрания алгоритъм. Разделете проблема на няколко метода, ако това е допустимо в конкретния случай.
  10. Проверете кода за грешки.
  11. Помислете как реализацията на алгоритъма се справя с критичните и погранични случаи.
  12. Проверете реализацията с пример, прегледайте кода за грешки.
  13. След като се уверите, че кодът работи правилно, проверете неговата чистота и стил.

Ето, всъщност, и всичко!

Източник: habr.com

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster