Из чего должна состоять идеальная задача на разработку?
Хорошая задача содержит цель, контекст, границы, ожидаемое поведение и проверяемые критерии приёмки. Также нужны зависимости, ограничения, ошибки и связанные контракты или макеты.
Читать ответПодготовка к интервью
42384 вопроса в категории «Технические вопросы»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Технические вопросы», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: database, sql, backend.
Каталог
Хорошая задача содержит цель, контекст, границы, ожидаемое поведение и проверяемые критерии приёмки. Также нужны зависимости, ограничения, ошибки и связанные контракты или макеты.
Читать ответPOST удобен для сложной структурированной модели поиска: вложенных условий, массивов и составных выражений. При этом теряются многие привычные преимущества GET, поэтому выбор нужно обосновать.
Читать ответИндекс требует дополнительной работы при записи: нужно обновить его структуру и сохранить согласованность с таблицей. Но индекс также может ускорять поиск строк для UPDATE.
Читать ответУ WSDL и XSD нет обязательного отдельного «российского аналога»: это международные спецификации описания веб-сервисов и XML-структур, применяемые и в российских системах.
Читать ответТехнически микросервисы могут использовать общую БД, но совместное владение таблицами связывает их изменения и релизы. Обычно предпочтительно явное владение данными каждым сервисом.
Читать ответREST API строит взаимодействие вокруг ресурсов и согласованных операций HTTP. Его контракт должен описывать не только URL, но и схемы данных, статусы, ограничения и сценарии ошибок.
Читать ответДля атомарной транзакции между поддерживающими её ресурсами используют распределённую транзакцию, часто с двухфазным commit и координатором. Saga — другой подход: локальные транзакции и компенсации.
Читать ответВ доменной модели Entity сравнивают по устойчивой идентичности, а не по совпадению всех атрибутов. Изменение имени или статуса не превращает сущность в другую.
Читать ответРазделите успешное выполнение, отказ по наличию и отсутствие ответа. Добавьте ответственных, условия ветвления, обработку времени ожидания и явные конечные исходы процесса.
Читать ответДля кеша нужно определить ключ, срок жизни, правила инвалидирования и допустимую устарелость. Также важны изоляция пользователей, поведение при промахе и отказе кеша.
Читать ответОсновные соединения: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN и CROSS JOIN. Они различаются сохранением несовпавших строк и способом построения сочетаний.
Читать ответJSON поддерживает объект, массив, строку, число, true, false и null. Отдельного типа даты нет: используют строку согласованного формата или число с явно заданной единицей времени.
Читать ответ