diff --git a/backend/python/junior-3/architecture-and-design.md b/backend/python/junior-3/architecture-and-design.md new file mode 100644 index 00000000..08578500 --- /dev/null +++ b/backend/python/junior-3/architecture-and-design.md @@ -0,0 +1,77 @@ +# Architecture and design + +
+List of contents + +- [Basics](#basics) + - [Resources](#resources) +- [Models](#models) + - [Resources](#resources-1) +- [Urls](#urls) + - [Resources](#resources-2) +- [Views](#views) + - [Resources](#resources-3) +- [Templates](#template) + - [Resources](#resources-4) +- [Forms](#forms) + - [Resources](#resources-5) + +
+ +## UML diagrams and classes relationship +- What is a UML diagram, and how is it used to represent class relationships? +- What is the purpose of creating a UML class diagram? +- How do you represent a class in a UML class diagram? +- What is inheritance in OOP? +- Show the UML diagram with an inheritance relationship. What are the superclass and subclass, and how are they connected? +- What is composition? +- Could you provide an example of composition using a UML diagram? +- What is the most preferable relationship - inheritance or composition, and why? +- What is aggregation? +- What is the difference between aggregation and composition? +- Could you describe the UML diagram for class aggregation? +- What is association between classes? +- What is the difference between association and composition? +- Could you provide the UML diagram for class association? +- What is dependency between classes? +- Do changes in dependent class necessary affect to the class it depends? +- Can you explain the concepts of `interface` and `implementation` as they relate to OOP? +- How can implementation of interface be described in UML diagram? +- Can you provide an example of an interface and its realization in Python? + +#### Resources +- [UML Class Diagram Tutorial](https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-class-diagram-tutorial/) +- [Python OOPS – Aggregation and Composition](https://www.geeksforgeeks.org/python-oops-aggregation-and-composition/) +- [Aggregation vs Composition vs Association vs Direct Association](https://itecnote.com/tecnote/aggregation-vs-composition-vs-association-vs-direct-association/) +- [Object-Oriented Programming: Understanding Interfaces](https://tommcfarlin.com/understanding-interfaces/) +- [Interface in Python](https://www.scaler.com/topics/interface-in-python/) +- [Implementing an Interface in Python](https://realpython.com/python-interface/) + +## Strategy design pattern +- What is the Strategy Pattern, and why is it useful in software design? +- Can you draw a diagram and describe the components of the Strategy Pattern? +- + +#### Resources + + +## Observer design pattern +- What is the Strategy Pattern, and why is it useful in software design? +- Can you draw a diagram and describe the components of the Strategy Pattern? +- + +#### Resources + + +## Decorator design pattern + +#### Resources + +## Factory Method design pattern + +#### Resources + + +## Abstract Factory design pattern + +#### Resources diff --git a/backend/python/junior-3/fast-api.md b/backend/python/junior-3/fast-api.md new file mode 100644 index 00000000..e69de29b diff --git a/backend/python/junior-3/python.md b/backend/python/junior-3/python.md new file mode 100644 index 00000000..fb57e9cb --- /dev/null +++ b/backend/python/junior-3/python.md @@ -0,0 +1,25 @@ +### Coding Standards and Best Practices: + +- PEP 8 guidelines +- Writing readable and maintainable code + +### Regular Expressions: + +- Using re module for pattern matching and text manipulation + +### Networking and APIs: + +- Basic networking concepts (HTTP, APIs) +- Making API requests using requests library + +### Concurrency and Parallelism: + +- Threading and multiprocessing basics +- Understanding asyncio + +### Basic Scripting and Automation: + +- Writing scripts for task automation +- Understanding command-line interface (CLI) basics + +### Typing \ No newline at end of file diff --git a/backend/python/junior-3/security.md b/backend/python/junior-3/security.md new file mode 100644 index 00000000..758a5b90 --- /dev/null +++ b/backend/python/junior-3/security.md @@ -0,0 +1,76 @@ +# Questions + +
+List of contents + +- [Authentication](#authentication) + - [Resources](#resources) +- [Authentication in Django and DRF](#authentication-in-django-and-drf) + - [Resources](#resources-1) + +- [Generators](#generators) + - [Resources](#resources-2) +- [Functions](#functions) + - [Resources](#resources-3) +- [Decorators](#decorators) + - [Resources](#resources-4) +- [Context managers](#context-managers) + - [Resources](#resources-5) +- [OOP](#oop) + - [Resources](#resources-6) +- [Package manager](#package-manager) + - [Resources](#resources-7) + +
+ +## Authentication +- What is an authentication? +- What is an authorization? +- What is a HTTP basic authentication? + - Describe the flow of basic auth. + - What are the pros and cons? + - In what cases it can be secure and when it is not? +- What is a Token-Based Authentication? + - What is JWT-Based Authentication? + - Describe the flow of authentication. + - How to obtain the auth token? + - Where token generates and where it stores? + - How is verification of token processing? + - Should be token regenerated for every request? + - What is a refresh token? + - What are the pros and cons? + - In what cases, you think, JWT-Based Auth is a suitable method? +- What is a Session-Based Authentication? + - Describe the flow of authentication. + - What is the difference with the Token-Based Authentication? + - What are the pros and cons? +- What is OAuth/OAuth2 and OpenID Auth? + - Describe the flow of authentication. + - What are the cases when you choose this method? +- What is a Two-Factor Authentication? + - What is OTP and how it can be used in auth flow? + - What are the pros and cons? + +#### Resources +- [Web Authentication Methods Compared](https://testdriven.io/blog/web-authentication-methods/) +- [Authentication: Methods, Protocols, and Strategies](https://frontegg.com/blog/authentication) +- [HTTP basic authentication](https://www.ibm.com/docs/en/cics-ts/5.4?topic=concepts-http-basic-authentication) +- [Understanding Token-Based Authentication: A Detailed Review](https://frontegg.com/blog/token-based-authentication) +- [JWT Authentication Best Practices](https://blog.openreplay.com/jwt-authentication-best-practices/) + +## Authentication in Django and DRF +- What is the purpose of User model in Django? + + +## Cross-Site Scripting (XSS) +## Cross-Site Request Forgery CSRF +## Sql Injection +## Security Misconfiguration: +Default configurations or incomplete setups can leave your application vulnerable. +## Sensitive Data Exposure: +Insufficient protection of sensitive data like passwords, credit card numbers, etc. +## Insecure Deserialization: +Tampering with serialized objects can lead to remote code execution or other attacks. +## Using Components with Known Vulnerabilities: +Libraries or frameworks with unpatched vulnerabilities can be exploited. +