Alex Xu. System Design Interview – An Insider’s Guide (2020)

В процесі проходження технічних співбесід на посаду програміста крім власне розв’язання задачок з написанням коду від вищого рівня працівників очікують розуміння системного дизайну, знання про існуючі технології та способи розв’язання відомих проблем та вміння все це правильно застосовувати.

Ось ця книга є збіркою таких задач де їх невелика кількість (спроектувати аналог youtube, систему нотифікації, чат, тощо) приведення з детальним поясненням того, що і чому треба питати для уточнення задачі, на що звертати увагу, з чого починати дизайн, які є відомі рішення та їх нюанси, в які деталі можна і варто заглиблюватися.

Причому все це приведено не просто в стилі “запам’ятайте як правильно”, а більше так, що показати хід думок та чому вибрано те чи інше рішення.

Коли треба автор заглиблюється в деталі, в багатьох випадках зупиняється на дизайні більш високого рівня. Але до всіх задач і тем є список додаткових матеріалів і прикладів як подібний дизайн зроблено у великих компаніях.

Мені книга здається надзвичайно корисною. Навіть якщо ви все знаєте (а це навряд чи) то навіть сама її структура яка впорядковує знання та показує послідовний підхід буде корисною.

До того ж автор проводив багато інтерв’ю саме з дизайну систем і викладення з його точки зору теж є цікавим.

Оцінки:

John Mongan, Eric Giguere, Noah Suojanen. Programming Interviews Exposed: Secrets to Landing Your Next Job (Programmer to Programmer) (2000)

Ще одна книга з тих які допомогають підготуватися до інтерв’ю на посаду програміста.

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

Більша ж частина книги присв’ячена задачам та їх рішенню. І на відміну від найбільш відомої та популярної книги цього типу Cracking the Coding Interview є кілька суттєвих відмінностей:

  • Кількість задач в цій книзі добре якщо складає три десятки, в той час як у згаданій вище задач сотні.
  • Самі задачі доволі прості з моєї точки зору і мене як правило просять розв’язувати складніші.
  • У книзі дуже велику частину приділено поясненю задачі та різним способам її розв’язання. Знову ж таки у порівнянні з більш відомою книгою де задача та поясення рішення викладено у кілької реченнях.

На мою думку це хороша книга (повторюся) для тих хто лише на початку своєї кар’єри – ознаймитися з типами задач, з тим як підходити до пошуку рішення, як думати про перевріку та тестування, які додаткові питання задавати. Комусь рівня Senior чи вище цієї книги буде явно не достатньо.

Оцінки:

Gale Laakhman. Cracking the coding interview

 

Авторка працювала програмістом у головних компаніях софтверної індустрії – Microsoft, Apple, Google, Yahoo та Amazon, а також у декількох менш відомих компаніях.

 

Книга по суті є задачником (з рішеннями) питань які найбільше зустрічаються на інтерв’ю в перелічені компанії. Задачі поділені на групи (рядки, списки, математика, многопоточність, головоломки, тощо).

 

Також є невеличкі розділи з приводу того що писати в резюме, як вести себе на інтерв’ю, як проходить сам процес в кожній з компаній і таке інше.

 

Хороша книга коротше.

 

І у авторки зараз своя компанія яка займається кар’єрою програмістів – http://www.careercup.com/. На сайті є обговорення різних задачок і рішень, сервіси щодо покращення резюме та імітації процесу інтерв’ювання.