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

Приведи пример трёх интересных задач

  1. Поиск анаграмм
    Найти все анаграммы в списке слов. Например, из ["listen", "silent", "hello", "world", "dog", "god"] получить группы: [["listen", "silent"], ["dog", "god"]].
python
from collections import defaultdict

def find_anagrams(words):
    anagrams = defaultdict(list)
    for word in words:
        key = ''.join(sorted(word))
        anagrams[key].append(word)
    return [group for group in anagrams.values() if len(group) > 1]
  1. Валидация скобок
    Проверить, правильно ли расставлены скобки в строке. Например, "{[()]}" — валидно, а "[(])" — нет.
python
def is_valid(s):
    stack = []
    pairs = {')': '(', '}': '{', ']': '['}
    for char in s:
        if char in pairs.values():
            stack.append(char)
        elif char in pairs:
            if not stack or stack.pop() != pairs[char]:
                return False
    return not stack
  1. Генератор простых чисел
    Создать генератор, который выдаёт простые числа бесконечно.
python
def primes():
    yield 2
    primes_list = [2]
    candidate = 3
    while True:
        is_prime = all(candidate % p != 0 for p in primes_list)
        if is_prime:
            primes_list.append(candidate)
            yield candidate
        candidate += 2
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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