Вопрос с собеседования · HR-вопросы

Писать своё решение или взять готовую библиотеку или сервис?

MiddleИстории из опыта
Ещё спрашивают так:
  • Как выбрать библиотеку?
  • Когда стоит писать своё?
Коротко

Готовое берут, когда задача не ядро продукта и хорошо решена другими (авторизация, платежи, очереди, PDF): экономия времени огромна. Своё пишут, когда это конкурентное преимущество, готовые решения не подходят по требованиям или зависимость дороже собственной простой реализации. Библиотеку оценивают: поддерживается ли (релизы, issues), лицензия, популярность, качество документации, размер и транзитивные зависимости, безопасность, лёгкость замены.

  • Каждая зависимость — код, за который вы отвечаете: обновления, уязвимости
  • Тонкая обёртка над внешним сервисом упрощает замену
  • Десять строк своего кода иногда лучше библиотеки на десять тысяч строк

А ещё Платёжи, криптографию и авторизацию самим не пишут

Подробно

Чек-лист библиотеки:

  • последний релиз и активность;
  • лицензия совместима с продуктом;
  • открытые уязвимости;
  • число и вес зависимостей;
  • API удобно и стабильно;
  • что делать, если проект забросят.

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

Что хотят услышать

  • Ядро продукта против типовой задачи.
  • Критерии выбора библиотеки.
  • Стоимость зависимости.
  • Не писать самим критичное для безопасности.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Готовое — для типовых задач, своё — для ядра продукта или особых требований
  • ✗Всегда писать своё — так надёжнее и нет внешних зависимостей
  • ✗Брать самую популярную библиотеку, не глядя на поддержку и лицензию
  • ✗Писать своё для авторизации и криптографии, библиотеки — для остального

Разбор темы

Связанные вопросы

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования