TradingView · октябрь 2024

Тех собес на middle-senior Python Разработчик в TradingView

middle-senior Тех собес 66 вопросов

1. Из кого сейчас состоит ваша команда?

2. Чем конкретно вы занимались на проектах?

3. Какие технологии и сервисы AWS вы использовали?

4. Приходилось ли внедрять git flow и структурировать кодовую базу?

5. Какие методы оптимизации вы применяли при обработке большого объема данных?

6. Использовали ли вы многопоточность или асинхронность в проекте?

7. Почему выбрали threading вместо asyncio?

8. Как сильно удалось ускорить обработку задач после оптимизации?

9. Какие API вы реализовывали в этих проектах?

10. Эти API были публичные или внутренние?

11. Насколько высока была нагрузка на ваши сервисы? Какой был RPS?

12. Кто был ответственен за инфраструктуру в проектах? Были ли отдельные DevOps?

13. Использовали ли вы Kubernetes и EKS?

14. Какая база данных использовалась на проектах?

15. С какими объемами данных вы работали?

16. Какие техники оптимизации SQL-запросов применяли?

17. Использовали ли вы ORM или писали SQL вручную?

18. Сталкивались ли вы с проблемой N+1 в ORM?

19. Какие техники загрузки данных применяли (например, eager loading)?

20. С какими системами хранения, кроме PostgreSQL, приходилось работать?

21. Работали ли вы с очередями сообщений, такими как Kafka?

22. Какие структуры данных используете чаще всего и почему?

23. Почему иногда предпочтительнее использовать tuple, а не list?

24. Как работает хэш-таблица в Python?

25. Каковы особенности реализации list в Python?

26. Что происходит при вставке в начало списка?

27. Как устроена память у потоков и процессов в Python?

28. Какие отличия между threading и asyncio?

29. Когда лучше использовать multiprocessing?

30. Как работает потокобезопасность в многопоточном коде?

31. Что такое дескриптор файла и как он используется?

32. Что такое copy-on-write?

33. Что такое виртуальная память?

34. Можно ли использовать больше памяти, чем физически доступно?

35. Что происходит при открытии сайта? Какие сетевые уровни участвуют?

36. Как работает DNS?

37. Как устанавливается TCP-соединение?

38. Что такое 3-way handshake?

39. Что такое keep-alive и зачем он нужен?

40. Чем отличается HTTP/1.1 от HTTP/2 и HTTP/3?

41. Как устроены cookies? Как они устанавливаются и удаляются?

42. Что делают флаги Secure, HttpOnly, SameSite?

43. Как отправляются файлы через HTTP?

44. Что такое Base64 и зачем он используется?

45. Как работает JWT и какие свойства он имеет?

46. Какие есть способы реализации property и descriptor в Python?

47. Что делает метод __init_subclass__?

48. Приходилось ли использовать метаклассы? Что такое миксины?

49. Какие бывают типы данных в typing (Any, Union, Callable)?

50. Что такое TypeVar?

51. Может ли экземпляр класса быть ключом в словаре?

52. Что такое декоратор? Как его реализовать в Python?

53. Можно ли реализовать декоратор через класс?

54. Можно ли передавать параметры в декоратор?

55. Как передаются аргументы в функцию в Python?

56. Что произойдёт, если изменить объект, переданный в функцию?

57. Почему нельзя использовать изменяемые значения по умолчанию (например, список)?

58. Какие есть способы реализовать Singleton в Python?

59. Что такое приватные и защищённые методы и как они реализуются?

60. Что такое транзакция и свойства ACID?

61. Что такое индексы в PostgreSQL и какие типы индексов бывают?

62. Какие операции поддерживает B-tree индекс?

63. Почему LIKE работает только с префиксом?

64. Что такое index-only scan?

65. Как происходит операция UPDATE под капотом?

66. Хорошая ли идея хранить счётчик просмотров в основной таблице?