Перейти к содержимому

Экзаменационные вопросы


Лекция 1. Введение в разработку интернет-приложений

1. Что такое интернет-приложение и чем оно отличается от классических настольных приложений?

2. Перечислите ключевые свойства интернет-приложений.

3. Опишите клиент-серверную модель. Какие функции выполняют клиентская и серверная части?

4. Какие технологии используются для разработки Frontend и Backend частей веб-приложений?

5. Перечислите этапы разработки интернет-приложений (жизненный цикл ПО).

6. Какие основные вызовы (проблемы) существуют при разработке интернет-приложений?

7. Что такое микросервисная архитектура и какие её преимущества?

8. Что такое Serverless архитектура? Приведите примеры платформ.


Лекция 2. Сетевые основы интернет-приложений

9. Опишите модель OSI. Сколько уровней она содержит и какие функции выполняет каждый уровень?

10. Чем модель TCP/IP отличается от модели OSI? Сколько уровней в TCP/IP?

11. Что такое инкапсуляция данных в сетевом взаимодействии?

12. Сравните протоколы TCP и UDP. В каких случаях используется каждый из них?

13. Опишите процесс установки TCP-соединения (Three-Way Handshake).

14. Какие характеристики имеет протокол UDP? Почему он используется для приложений реального времени?

15. Опишите эволюцию протокола HTTP (от HTTP/0.9 до HTTP/3).

16. Что такое WebSocket и чем он отличается от HTTP? Где применяется?

17. Что такое gRPC? Какие типы gRPC-сервисов существуют?

18. Опишите структуру HTTP-запроса. Какие основные компоненты он содержит?

19. Какие группы заголовков HTTP существуют? Приведите примеры заголовков из каждой группы.

20. Перечислите основные HTTP-методы. Что такое идемпотентность и безопасность метода?

21. Опишите классификацию кодов состояния HTTP (1xx, 2xx, 3xx, 4xx, 5xx).

22. Что означают коды 200, 201, 204, 301, 400, 401, 403, 404, 500, 503?

23. Какие форматы данных используются для передачи в веб-приложениях? Сравните JSON и XML.

24. Опишите жизненный цикл HTTP-запроса от инициации до получения ответа.

25. Какие основные угрозы сетевой безопасности существуют и как от них защититься?

26. Что такое TLS/SSL? Какая версия TLS является современным стандартом?

27. Какие метрики производительности сетевого взаимодействия вы знаете (Latency, Throughput, Bandwidth)?

28. Что такое CDN и как он улучшает производительность веб-приложений?


Лекция 3. Работа с базами данных в веб-приложениях

29. Какие типы баз данных существуют? Сравните реляционные (SQL) и нереляционные (NoSQL) БД.

30. Опишите основные SQL-операции: SELECT, INSERT, UPDATE, DELETE.

31. Что такое внешний ключ (Foreign Key)? Для чего используются JOIN-операции?

32. Что такое индексы в базах данных? Какие типы индексов существуют?

33. Что такое транзакция? Объясните уровни изоляции транзакций.

34. Что такое ORM (Object-Relational Mapping)? Какие преимущества даёт использование ORM?

35. Что такое миграции схемы БД? Для чего используется Alembic?

36. Что такое SQL-инъекция и как от неё защититься?

37. Что такое Connection Pooling и зачем он нужен?


Лекция 4. REST API и проектирование веб-сервисов

38. Что такое API? Что такое REST и какие принципы REST вы знаете?

39. Объясните принцип Stateless в REST-архитектуре.

40. Какие правила дизайна URI существуют? Приведите примеры хороших и плохих URI.

41. Как правильно использовать HTTP-методы в REST API (GET, POST, PUT, PATCH, DELETE)?

42. Какие HTTP-коды состояния следует использовать для разных операций в REST API?

43. Что такое пагинация? Сравните offset-based и cursor-based пагинацию.

44. Зачем нужно версионирование API? Какие стратегии версионирования существуют?

45. Что такое Rate Limiting и зачем он нужен?

46. Что такое OpenAPI/Swagger? Как FastAPI генерирует документацию?


Лекция 5. Аутентификация и авторизация

47. В чём разница между аутентификацией и авторизацией?

48. Какие типы учётных данных (credentials) существуют? Что такое многофакторная аутентификация (MFA)?

49. Что такое сессия? Опишите аутентификацию на основе сессий.

50. Что такое JWT (JSON Web Token)? Опишите его структуру (header, payload, signature).

51. Какие стандартные поля (claims) содержит JWT? Объясните назначение полей iss, sub, exp, iat.

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

53. Какие заголовки безопасности HTTP следует использовать?