package ru.tbank;
Код реализует cache-aside: сначала читает кэш, при промахе — БД и сохраняет найденный заказ. Основные риски — устаревшие данные, одновременные промахи и неоговорённое поведение при сбое кэша.
Читать ответПодготовка к интервью
3221 вопрос в категории «Лайвкодинг»
Что проверяют на интервью
В этой подборке вопросы сгруппированы по формату «Лайвкодинг», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: frontend, browser, database.
Каталог
Код реализует cache-aside: сначала читает кэш, при промахе — БД и сохраняет найденный заказ. Основные риски — устаревшие данные, одновременные промахи и неоговорённое поведение при сбое кэша.
Читать ответГлавная ошибка — readLine вызывается дважды и пропускает строки. Также есть утечки при исключениях, глобальное накопление состояния, скрытые ошибки и некорректная запись CSV.
Читать ответИдите по next от head до nil и добавляйте каждый текущий узел в массив. Порядок обхода совпадает с порядком списка.
Читать ответВ SwiftUI удобно использовать .task: он запускает асинхронную загрузку при появлении представления и связывает отмену с его жизненным циклом.
Читать ответПодмените изменяемое analytics на spy до вызова viewDidLoad и проверьте точный список полученных событий.
Читать ответВ SwiftUI достаточно компонента со строкой подписи и closure-действием, передаваемыми извне. Стандартный Button сохранит обработку нажатий и доступность.
Читать ответПриведённый ReusableButton уже решает задачу: label задаёт подпись, handler выполняется при нажатии. Общий внешний вид можно добавить через ButtonStyle.
Читать ответДобавьте условное Equatable-соответствие, когда сравнимы оба payload-типа. Также укажите оба generic-параметра при создании success/failure.
Читать ответСравните каждый элемент с первым и верните его, если все равны. Для пустого массива и несовпадения нужно заранее выбрать представление результата.
Читать ответКомпонент уже корректно отображает входной value. Чтобы он обновлялся, родитель должен хранить число в наблюдаемом состоянии и передавать новое значение.
Читать ответПодсчитайте символы и замените префикс длиной max(0, count−4) на #, сохранив последние четыре символа.
Читать ответХраните ровно одно из состояний — успех или ошибка — во внутреннем enum. Struct-обёртка предоставляет заданные ok/err и consuming unwrap-методы.
Читать ответ