Изключителна книга от Гейл Лаакман Макдауъл.

Гейл има сериозен опит в разработката на софтуер. Работила е като софтуерен инженер в Google, Microsoft, Apple. Тя е автор на три книги (Cracking the Coding Interview, Cracking the PM Interview, Cracking the Tech Career) и сега е основател на CareerCup

Да работиш за една от компаниите на FAANG е фантазия. Една мечта. Но може ли да стане реалност? Вашата реалност!

Разбиването на интервюто за кодиране включва близо 200 програмни въпроса и решения, зададени от Amazon, Google и Facebook... за да назовем само няколко и техните решения. Има много от най-добрите въпроси и концепции, които са полезни както за начинаещи, така и за напреднали програмисти. Човек, който иска да започне да се подготвя от нулата, с такъв, който копнее да изчетка и да се подготви.

Cracking the Coding Interview е две книги в една — разделени на два раздела:

Първите около 90 страници описват какво да очаквате по време на интервюто и как да се подготвите за него. След това има стотици и стотици страници с проблеми с кодирането, съвети и решения.

1. Процесът на интервюто

Този раздел обхваща повечето аспекти на това какво да очаквате по време на първото интервю.

  • Защо интервютата са структурирани така, както се провеждат?
  • Как се избират въпросите?
  • Често задавани въпроси

Като разбирате по-добре логиката зад интервюто, можете по-добре да се подготвите за него.

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

Един от най-добрите планове, които трябва да имате и върху които да работите.

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

„Нотация Big-O“ е езикът и показателят, използвани за описване на ефективността на алгоритмите. Ако се изгубите в разбирането на Big-O, FAANG обикновено ще видят това като червен флаг.

Разбиването на интервюто за кодиранедава подробно обяснение на анализа на сложността. И има примери и упражнения, които да ви помогнат да подобрите разбирането си за Big O.

Техническите въпроси: Освен че ви показва как да се подготвите за техническите въпроси, Разбиването на интервюто за кодиране ви превежда през примерен проблем. Този раздел обхваща най-доброто възможно време за изпълнение, как да се справите с неправилни отговори, повтарящи се въпроси, добри примери за кодиране и много други.

2. ПРОБЛЕМИ С КОДИРАНЕТО

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

„Cracking the Coding Interview“ има почти 200 изрични и задълбочени проблеми, решения и съвети. Въпреки че може да не са точните въпроси, които се задават, те обхващат подходящи концепции, които са необходими за решаване на действителните въпроси.

Въпросите за кодиране се категоризират въз основа на:

  • Структури на данни - масиви и низове, свързани списъци, стекове и опашки, дървета и графики
  • Концепции и алгоритми — битова манипулация, математически и логически пъзели, обектно-ориентиран дизайн, рекурсия и динамично програмиране, системен дизайн и мащабируемост, сортиране и търсене, тестване

# Има широка секция за напреднали теми:

  • Полезна математика
  • Топологично сортиране
  • Алгоритъмът на Дейкстра
  • Разрешаване на сблъсък на хеш таблица
  • Търсене на подниз на Rabin-Karp
  • AVL дървета
  • Червено-черни дървета
  • MapReduce

Разбиването на интервюто за кодиранесе фокусира основно върху въпросите за алгоритъма, кодирането и дизайна. Ако сте готови да започнете интервюта с компании от FAANG, „Cracking the Coding Interview“ си заслужава вашето време и инвестиция.

Моите лични указания за подготовка..!

КАКВО ОЗНАЧАВА ТОВА

  • Решете много проблеми, свързани със структурата на данните и алгоритмите.
  • Разбиране на алгоритмите.
  • Съсредоточете се върху основи като хеш карти, дървета.
  • Бъдете проактивен програмист, който пише код и намира грешки.
  • Подчертайте сложността, много хора не се фокусират върху сложността, тя играе важна роля в ефикасното и ефективно програмиране.
  • Не запомняйте отговори и код, разберете логиката зад това и го направете сами.

ПРАВИЛА И НЕПРАВИЛА ЗА ИНТЕРВЮ ЗА КОДИРАНЕ.

Задължителните действия:

  • Винаги задавайте изясняващи въпроси.
  • Проходни подходи.
  • Споменете алгоритмичната сложност.
  • Кодирайте по модулен начин.
  • Използвайте правилната конвенция за именуване.
  • Интересувайте се от съвети.

Необходимите неща:

  • Мълчание.
  • Неправилен отговор с увереност.
  • Недостатъчна подготовка и прекомерна подготовка.
  • Игнориране на намеците.
  • Подправяне на известен въпрос
  • Да приемем, че интервюто е дявол.

#НЯКОИ БОНУС СЪВЕТИ ЗА ДА СЕ ИЗПЪЛНИТЕ

Проучване - Отделете време, за да разберете ролята на работа, също така проучете за интервюиращите, пътната карта на компанията и какви са техните основни принципи.

Бъдете любопитни - Задайте смислен въпрос на интервюиращия в секцията „Имате ли въпрос към мен“. Опитайте се да спечелите нещо от тях.

Отборна игра - Всеки иска да работи с някой с правилното отношение. Бъдете смирени и готови да си сътрудничите. Не го фалшифицирайте. По-скоро го приемете в живота си!

#Накрая в интернет има много книги и курсове, които можете да използвате, за да подобрите проницателността си в кодирането. Независимо дали сте готови да преминете на по-високо ниво или познавате някой, който иска да направи следващата стъпка в своята кариера на кодиране, Cracking the Coding Interview е силно препоръчително.

НАДЯВАМ СЕ МОЯТ ПРЕГЛЕД Е ПОЛЕЗЕН.

МИЛИОН БЛАГОДАРЯ..!

Публикацията ми съдържа партньорски връзки.