Подборка объединяет вопросы, отмеченные на этапах интервью в Вкусно и Точка. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: backend, infrastructure, devops.
При чтении dictionary[key] для отсутствующего ключа возникает KeyError. Если отсутствие ожидаемо, можно проверить key in dictionary или использовать get() с подходящим значением по умолчанию.
str.isdigit() возвращает True, если строка непустая и все её символы относятся к цифрам Unicode. Это не полноценная проверка числа: знак минус, точка и пробелы дадут False.
__slots__ обычно задаёт фиксированные места для ссылок на атрибуты в экземпляре и дескрипторы доступа к ним. Без __dict__ неизвестное имя некуда сохранить, поэтому добавление такого атрибута запрещено.
strip() возвращает строку без пробельных символов по краям. С аргументом он удаляет с обоих концов любые символы из заданного набора, а не указанный префикс целиком.
Для Python set поиск и добавление в среднем выполняются за O(1), но в худшем случае могут потребовать O(n). Вставка также иногда вызывает расширение хеш-таблицы.
with вызывает __enter__ контекстного менеджера, выполняет тело блока и затем __exit__, в том числе при исключении. Так удобно управлять файлами, блокировками и транзакциями.
LEFT JOIN используется, когда нужно получить все записи из левой таблицы и соответствующие записи из правой таблицы, а если соответствий нет — то в правой части будут NULL.
Отличительной чертой реляционных баз данных является использование таблиц с четко определённой структурой — строки и колонки, где каждая колонка имеет определённый тип данных (например, строка, число, булево).
Причины ухода с последнего места работы могут быть разными: желание профессионального роста, поиск новых вызовов, изменение приоритетов, несоответствие корпоративной культуры или организационные изменения в компании.