The 3 Categories of Technical Knowledge and Skills #5
RandintN
started this conversation in
Technical Knowledge That You Must Have
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
The 3 Great Categories of Technical Challenges (and technical interviews)
1. Common Sense for DEVs
Design Patterns
- Singleton, Factory, Strategy, Decorator, Adapter, Facade, Observer, Command, Builder
Architectures
- Clean Architecture, Hexagonal, MVC, Event-Driven
Development Principles
- KISS, SOLID, DRY, YAGNI
Software Testing
- Unit, Integration, E2E, TDD (Test-Driven Development)
Version Control
- Git (main commands and concepts)
Live Coding
- Palindrome
- FizzBuzz
- String Manipulation (reverse, find duplicates, etc.)
Database Principles
- ACID, Normalization, Indexes, SQL vs NoSQL
Networks and Protocols
- HTTP (Verbs, Status Codes), RESTful, WebSockets
DevOps and CI/CD
- Docker (basics), Kubernetes (basics), CI/CD pipeline concept
Algorithms and Data Structures
- Big O Notation, Lists, Stacks, Queues, Trees, Graphs
Security
- OWASP Top Ten, SQL Injection, XSS
2. Stack Details
Difference between StringBuffer and StringBuilder
- Thread-safety and synchronization (@synchronized)
- Performance and appropriate use
What is String Pool
- String interning in Java
- Benefits and usage considerations
Memory Management
- Heap and Stack
- Garbage Collection
- Young and Old Generation (G1GC Generational)
- Metaspace
- Scope of variables and lifecycle
Collections and Data Structures
- Lists, Sets, Maps
- Data structures: Stack, Queue, Tree, Graph
Concurrency and Multithreading
- Concurrency models
- Common problems: deadlock, livelock, starvation
- Synchronization tools
3. Systems Design
Design Uber for Us
- General architecture and main components
- Location and mapping services
- Database and storage choice
- Scalability and load balancing
- Fault tolerance and high availability
- Security and authentication
Design an e-commerce
- Product catalog management
- Shopping cart and order processing
- [Other e-commerce components...]
Design a Social Media Platform
- [Components like news feed, user auth, media upload...]
Distributed Systems Design Patterns
- Microservices vs. Monoliths
- Communication Patterns (Sync, Async, Message Queues)
- Circuit Breaker
For a complete and updated list, read this document.
Beta Was this translation helpful? Give feedback.
All reactions