From 3368764e43fc1773d2375062034c949bd0c2c861 Mon Sep 17 00:00:00 2001 From: Anton Danylchenko Date: Fri, 31 Oct 2025 13:51:54 +0200 Subject: [PATCH 01/37] Changing the file structure --- .../authentication_vs_authorization.md | 22 +++ 01. General Prep/general_questions.md | 13 ++ 01. General Prep/git.md | 57 +++++++ 02. Web Development/javascript.md | 18 +++ 02. Web Development/web_development.md | 23 +++ 03. Backend & Frameworks/django.md | 16 ++ 03. Backend & Frameworks/java.md | 18 +++ 03. Backend & Frameworks/python.md | 78 ++++++++++ 04. Data & Storage/databases.md | 17 +++ 05. Interview Strategy/algorithms.md | 35 +++++ README.md | 62 ++++---- chapters/algorithms.md | 105 ------------- chapters/databases.md | 28 ---- chapters/django.md | 13 -- chapters/general_questions.md | 11 -- chapters/git.md | 53 ------- chapters/java.md | 11 -- chapters/javascript.md | 20 --- chapters/python.md | 141 ------------------ chapters/web_development.md | 37 ----- 20 files changed, 334 insertions(+), 444 deletions(-) create mode 100644 01. General Prep/authentication_vs_authorization.md create mode 100644 01. General Prep/general_questions.md create mode 100644 01. General Prep/git.md create mode 100644 02. Web Development/javascript.md create mode 100644 02. Web Development/web_development.md create mode 100644 03. Backend & Frameworks/django.md create mode 100644 03. Backend & Frameworks/java.md create mode 100644 03. Backend & Frameworks/python.md create mode 100644 04. Data & Storage/databases.md create mode 100644 05. Interview Strategy/algorithms.md delete mode 100644 chapters/algorithms.md delete mode 100644 chapters/databases.md delete mode 100644 chapters/django.md delete mode 100644 chapters/general_questions.md delete mode 100644 chapters/git.md delete mode 100644 chapters/java.md delete mode 100644 chapters/javascript.md delete mode 100644 chapters/python.md delete mode 100644 chapters/web_development.md diff --git a/01. General Prep/authentication_vs_authorization.md b/01. General Prep/authentication_vs_authorization.md new file mode 100644 index 0000000..e3a76f5 --- /dev/null +++ b/01. General Prep/authentication_vs_authorization.md @@ -0,0 +1,22 @@ +# Authentication vs Authorization + +Authentication and authorization work together to guard access, but they solve different problems: + +- **Authentication** answers *“Who are you?”* by verifying identity through credentials such as passwords, tokens, or biometrics. +- **Authorization** answers *“What are you allowed to do?”* by checking permissions after identity is verified. + +## Quick Refresh +- Confirm you can explain the flow: login → identity established → permission checks. +- Know common mechanisms: OAuth 2.0, JWTs, sessions, role-based access control (RBAC), attribute-based access control (ABAC). +- Highlight typical pitfalls: credential leakage, improper session management, over-permissive roles. + +## Deep Dive Later +- Compare session-based vs token-based authentication and when to use each. +- Outline secure password storage (hashing, salting, peppering) and MFA strategies. +- Explore least privilege design, privilege escalation prevention, and audit logging patterns. +- Review how cloud providers (AWS IAM, GCP IAM, Azure AD) implement auth/authz flows. + +## Interview Prompts +- Describe an end-to-end login flow for a web app and how you would secure it. +- Discuss how you would add a new microservice to an ecosystem while reusing existing auth. +- Explain debugging steps when a user reports unauthorized access or unexpected denial. diff --git a/01. General Prep/general_questions.md b/01. General Prep/general_questions.md new file mode 100644 index 0000000..83d4b64 --- /dev/null +++ b/01. General Prep/general_questions.md @@ -0,0 +1,13 @@ +# General Interview Questions + +Use these prompts to warm up your interview mindset and practice concise storytelling across behavioral and cross-functional topics. + +## Quick Refresh +- Rehearse your introduction, role highlights, and why-now narrative. +- Skim common behavioral categories: leadership, conflict, failure, collaboration, and impact. + +## Deep Dive Later +- Build full STAR responses for roles, successes, and tough lessons; prioritize metrics and business context. + +## Interview Prompts +- [100 Potential Interview Questions](http://career-advice.monster.com/job-interview/interview-questions/100-potential-interview-questions/article.aspx) diff --git a/01. General Prep/git.md b/01. General Prep/git.md new file mode 100644 index 0000000..1ddba5c --- /dev/null +++ b/01. General Prep/git.md @@ -0,0 +1,57 @@ +# Git Interview Refresh + +Keep these branches, cleanup commands, and conceptual contrasts top of mind so you can speak confidently about Git workflows in interviews. + +## Quick Refresh +- List and filter branches locally and across remotes when walking through repo discovery. +- Explain how you identify merged versus unmerged branches before cleanup. +- Know how to delete untracked files safely and when to fall back to selective resets. +- Contrast merge and rebase to show you can choose the right integration strategy. + +## Command Snippets + +### Listing branches +```sh +# Show local branches and highlight the current one +git branch +# Show local and remote branches +git branch -a +# Show remote branches only +git branch -r +``` + +### Checking merge status +```sh +# Branches already merged into master +git branch --merged master +# Branches not yet merged into master +git branch --no-merged master +# Remote branches not merged into origin/master +git branch -r --no-merged origin/master +``` + +### Cleaning untracked files +```sh +# Dry run: preview files to be removed +git clean -n +# Remove untracked files +git clean -f +# Remove untracked directories and ignored files +git clean -d -x -f +``` + +### Resetting working tree changes +```sh +# Discard changes in a single file +git checkout -- path/to/file +# Reset entire working tree to last commit +git reset --hard +``` + +## Interview Prompts +- Walk through when you would choose merge versus rebase in a team workflow. (See [Atlassian](https://www.atlassian.com/git/tutorials/merging-vs-rebasing).) +- Explain how you clean up stale feature branches without losing work. +- Describe your process for recovering from an accidental force push or bad commit. + +## Deep Dive Later +- [Advanced Git Tutorials](https://www.atlassian.com/git/tutorials/advanced-overview) by Atlassian for branching models, hooks, and rebase strategies. diff --git a/02. Web Development/javascript.md b/02. Web Development/javascript.md new file mode 100644 index 0000000..1345ea9 --- /dev/null +++ b/02. Web Development/javascript.md @@ -0,0 +1,18 @@ +# JavaScript Interview Refresh + +Focus on browser fundamentals, event handling, and language quirks to keep your JavaScript interviews sharp. + +## Quick Refresh +- Explain event propagation (capture, target, bubble) and how `event.preventDefault()` differs from returning `false`. +- Revisit ES modules versus CommonJS and how bundlers/transpilers affect delivery. +- Recall how `"use strict"` changes scoping, `this` binding, and silent errors. + +## Interview Prompts +- **Preventing form submission:** Compare `event.preventDefault()` with `return false`, discuss when each applies, and describe proper separation of concerns for inline handlers vs. addEventListener. +- **Async patterns:** Walk through promises, async/await, microtasks vs macrotasks, and the event loop narrative. +- **State management in the browser:** Outline local/session storage, cookies, and when to leverage IndexedDB. + +## Deep Dive Later +- Read: **event.preventDefault() vs. return false** on [Stack Overflow](http://stackoverflow.com/questions/1357118/). +- Practice with [16 Great JavaScript Interview Questions](http://www.toptal.com/javascript/interview-questions). +- Refresh details in [JavaScript "Use Strict"](http://www.w3schools.com/js/js_strict.asp). diff --git a/02. Web Development/web_development.md b/02. Web Development/web_development.md new file mode 100644 index 0000000..0509836 --- /dev/null +++ b/02. Web Development/web_development.md @@ -0,0 +1,23 @@ +# Web Development Interview Refresh + +Re-center on fundamental web platform concepts so you can confidently explain request flows, security risks, and modern service communication patterns. + +## Quick Refresh +- Map the HTTP request lifecycle, including DNS, TLS, proxies, and caching layers. +- Distinguish between transport (TCP) and application (HTTP) responsibilities. +- Recall common web security pitfalls such as XSS and how to mitigate them. +- Summarize service-to-service communication options, including REST and gRPC over HTTP/2. + +## Interview Prompts +- **Explain HTTP vs TCP:** Clarify layering (OSI/Internet stack), reliability, connection management, and how HTTP leverages TCP streams. Be ready to touch on HTTP/2 multiplexing. +- **What is XSS and how do you prevent it?** Describe reflected, stored, and DOM-based variants. Emphasize output encoding, CSP, input validation, and protected templating systems. Reference real-world examples: + - Injected `