В процесі проходження технічних співбесід на посаду програміста крім власне розв’язання задачок з написанням коду від вищого рівня працівників очікують розуміння системного дизайну, знання про існуючі технології та способи розв’язання відомих проблем та вміння все це правильно застосовувати.
Ось ця книга є збіркою таких задач де їх невелика кількість (спроектувати аналог youtube, систему нотифікації, чат, тощо) приведення з детальним поясненням того, що і чому треба питати для уточнення задачі, на що звертати увагу, з чого починати дизайн, які є відомі рішення та їх нюанси, в які деталі можна і варто заглиблюватися.
Причому все це приведено не просто в стилі “запам’ятайте як правильно”, а більше так, що показати хід думок та чому вибрано те чи інше рішення.
Коли треба автор заглиблюється в деталі, в багатьох випадках зупиняється на дизайні більш високого рівня. Але до всіх задач і тем є список додаткових матеріалів і прикладів як подібний дизайн зроблено у великих компаніях.
Мені книга здається надзвичайно корисною. Навіть якщо ви все знаєте (а це навряд чи) то навіть сама її структура яка впорядковує знання та показує послідовний підхід буде корисною.
До того ж автор проводив багато інтерв’ю саме з дизайну систем і викладення з його точки зору теж є цікавим.
Оцінки:
- Good Reads – 4.31/5 (System Design Interview – An Insider’s Guide by Alex Xu | Goodreads).
- Моя оцінка – 10/10.