Встречается на собеседованиях • сегодня

Какие находил ошибки на ревью

  1. Использование изменяемых объектов как аргументов по умолчанию
    python
    def append_to_list(item, lst=[]):  # Ошибка: изменяемый список
        lst.append(item)
        return lst
    Исправление:
    python
    def append_to_list(item, lst=None):
        if lst is None:
            lst = []
        lst.append(item)
        return lst
  1. Неявная конкатенация строк

    python
    s = "Hello" "World"  # Работает, но может запутать

    Лучше явно использовать + или join().

  2. Игнорирование исключений

    python
    try:
        risky_call()
    except:  # Ловит все исключения, включая KeyboardInterrupt
        pass

    Исправление:

    python
    try:
        risky_call()
    except SpecificError:  # Указывать конкретный тип
        handle_error()
  3. Mutable объекты в множествах

    python
    s = {[1, 2]}  # TypeError: unhashable type

    Кортежи (если неизменяемы) подходят.

  4. Сравнение is вместо ==

    python
    if x is "hello":  # Работает только для интернированных строк

    Для значений всегда ==, is — только для проверки идентичности объектов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы