Собеседование (мок-интервью) для Junior Python-разработчика

preview_player
Показать описание
Что вас ждёт в этом выпуске:
– история студента, который занимался проектированием электростанций, обучился в августе 2023 на онлайн-курсах программирования и в январе 2024 устроился на работу
– теоретические вопросы по Python, которые задают на собеседованиях
– лайвкодинг-задача на проверку валидности
– заковыристая задача про птичку и поезд

Участники:
– Собеседование проводит Алексей Гладких, Python-разработчик в Хантфлоу
– Собеседование проходит студент Хекслета Дмитрий Горохов

____
Что такое публичное собеседование? Представьте себе учебное интервью, где наш джуниор сталкивается с вопросами от опытного Python-разработчика. Здесь каждый момент – шанс продемонстрировать свои знания технологий, понимание программирования и логику решения задач. Опытный разработчик анализирует ответы, выявляет сильные и слабые стороны кандидата, помогая ему в росте профессиональных навыков.
____
🔗 Полезные ссылки:
____
00:00:00 интро
00:00:20 занимался проектированием электростанций, обучился в августе 2023 и в январе 2024 устроился на работу
00:01:23 пугалки про магические часла
00:03:14 что такое транзакции в базе данных
00:05:03 зачем нужны базы данных
00:06:22 теоретическая задача: как найти записи по диапозону дат в очень старой базе данных
00:09:10 за сколько происходит поиск в бинарном дереве
00:11:10 что такое SOLID
00:13:08 типы данных в Python
00:17:50 асинхронность в Python
00:21:36 зачем в Python многопоточность
00:26:40 что такое Yeild
00:30:03 дескрипторы в Python
00:30:49 как в Django сделать join
00:32:30 строка содержит открывающиеся и закрывающиеся скобки, нужно проверить валидность
01:01:20 есть поезд, который едет с определённой скоростью из пункта A в пункт B и есть воробей, который летит в пункт B быстрее поезда, в пункте B разворачивается, летит обратно к поезду, снова разворачивается до пункта B и повторяет так до тех пор, пока поезд не окажется в пункте B. Сколько километров пролетит воробей в общем?
01:20:20 резюмируем
01:22:36 какие книги по Python прочитать
01:28:25 советы, если хочется уйти в сеньоры

#хекслет #программирование #python #собеседование
Рекомендации по теме
Комментарии
Автор


00:00:00 интро
00:00:20 занимался проектированием электростанций, обучился в августе 2023 и в январе 2024 устроился на работу
00:01:23 пугалки про магические часла
00:03:14 что такое транзакции в базе данных
00:05:03 зачем нужны базы данных
00:06:22 теоретическая задача: как найти записи по диапозону дат в очень старой базе данных
00:09:10 за сколько происходит поиск в бинарном дереве
00:11:10 что такое SOLID
00:13:08 типы данных в Python
00:17:50 асинхронность в Python
00:21:36 зачем в Python многопоточность
00:26:40 что такое Yeild
00:30:03 дескрипторы в Python
00:30:49 как в Django сделать join
00:32:30 строка содержит открывающиеся и закрывающиеся скобки, нужно проверить валидность
01:01:20 есть поезд, который едет с определённой скоростью из пункта A в пункт B и есть воробей, который летит в пункт B быстрее поезда, в пункте B разворачивается, летит обратно к поезду, снова разворачивается до пункта B и повторяет так до тех пор, пока поезд не окажется в пункте B. Сколько километров пролетит воробей в общем?
01:20:20 резюмируем
01:22:36 какие книги по Python прочитать
01:28:25 советы, если хочется уйти в сеньоры

HexletOrg
Автор

задача про скобки

def check_parentheses(_str: str) -> bool:
dct = {'{': ')]', '(': ']}', '[': '})'}
opening_bracket = 0
for i, bracket in enumerate(_str):
if i != len(_str) - 1 and bracket in dct.keys() and not _str[i + 1] in dct[bracket]:
opening_bracket +=1
else:
opening_bracket -= 1

if opening_bracket < 0:
return False
return True

ygpfziv
Автор

Вопрос к автору: а как питоновская многопоточность поможет ему бустануть вычисление числа Пи до миллиардного знака?

mihto
Автор

задача про скобки

opened_sym=['(', '[', '{']
closed_sym=['}', ']', ')']

def check_brackets(st):
open_brack=[i for i in st if i in opened_sym]
close_brack=[i for i in st if i in closed_sym]
return

pillow_eng
Автор

Задачу про скобки можно через рекурсию
If _str[0] in open_brackets and _str[-1] in close_brackets:
If return check_brackets(_str[1:-1])
Ну и дописать условия выхода из рекурсии (if len(_str) == 1 or ==2 return True
Плюс условия elif return False для условий записать
Пиша с телефона тут не удобняк все расписать.
Хотя перед кем я оправдываюсь, идите нах.й

bbcswky
Автор

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

ignatrotenberg
Автор

Задача про скобки:

CLOSE_BRACKETS = '}])'
OPEN_BRACKETS = '{[('
PAIRS_BRACKETS = {'[]', '{}', '()'}

def ckeck_brackets(s: str) -> bool:
open_stack = []
close_stack = []
for bracket in s:
if bracket in CLOSE_BRACKETS:
if not open_stack:
return False
close_stack.append(bracket)
elif bracket in OPEN_BRACKETS:
open_stack.append(bracket)
else:
return False

if open_stack and close_stack and (open_stack[-1] + close_stack[-1] in PAIRS_BRACKETS):
open_stack.pop()
close_stack.pop()

if open_stack or close_stack:
return False
return True

увидел потом решение до конца автора, да - 1 список close_stack - можно выкинуть.
Про воробья еще не дослушал, но видя ехидную улыбку ведущего понял прикол, спойлерить не буду лишь намекну - время полета воробья нам уже известно из условия задачи :))) ржу не могу

pretcb
Автор

def check_brackets(symbols: str) -> bool:
result = []
hash_map = {')': '(', '}': '{', ']': '['}

for i in symbols:
if i in hash_map.values():
result.append(i)
elif i in hash_map.keys():
if result == [] or result.pop() != hash_map[i]:
return False
return result == []

imadna