Как не волноваться на live-coding собеседовании

Live-кодинг - один из самых сложных видов собеседований. Программировать на время и под присмотром незнакомого человека - очень волнительно. А от волнения многие забывают все что знали, не могут себя показать. В данной статье я даю три работающие стратегии как перестать волноваться на собеседовании.

Быстрая победа через дисциплину

Я буду решать эту задачу: Дан список слов. Написать функцию, которая вернет самый длинный префикс. Префикс - набор букв, с которых начинается слово.

Например:

# самый длинный одинаковый префикс - это две буквы "fl"
solution(['flower', 'flow', 'flight']) -> 'fl'

На всякий случай, привожу финальное решение:

def solution(words: list[str]) -> str:  
    def _get_min_word_len() -> int:
        """Вычисляем минимальную длину слова"""
        return min(len(w) for w in words)
    def _get_prefs_for_len(i) -> list[str]:
        """Возвращаем префиксы длиной i для всех слов"""
        return [w[:i] for w in words]
    def _are_the_same(prefs: list[str]) -> bool:
        """Вернет true если все префиксы одинаковые"""
        return len(set(prefs)) == 1
    
    min_word_len = _get_min_word_len()
    for i in range(min_word_len, 1, -1):
        prefs = _get_prefs_for_len(i)
        if _are_the_same(prefs):
            return prefs[0]
    return ''

Быстрая победа через дисциплину

Напиши функцию, обозначь исходные данные, добавь аннотации типов. Это даст понимание входных и выходных данных. Название функции должно быть лаконичными и показывающим что функция делает . Затем обязательно вызови функцию и распечатай результат. Запусти код, убедись что работает. Многие ребята забывают вызывать функцию, которую объявили, запускают, а код не работает.

Требуется уровень Исследователь Повысить