- Software Programming, Data Structure and Algorithms (DSA)
- Operating System (OS)
- Database Management System (DBMS)
- Computer Networks (CN)
- Design Patterns and System Design
- Web technology
These are the very core subjects you need to know for a good understanding of CS in general
Use bard for most of the questions to have an high level understanding and read articles for a deeper understanding
- What is a computer and what are the main components of a computer?
- What is binary programming and assembly programming and how a computer executes binary code to function?
- What are the differences between a high level and low level computer programming language?
- What is an interpreted and compiled programming language?
- How an high level programming language executes on a computer?
- What is a computer instruction set, 32bit vs 64bit?
- What is a computer program and how it's written?
- What is a computer application?
- What is a computer software?
- What are the computer memory measurment units (bit, nibble, byte, Kb vs KB, Mb vs MB, ...)?
- What is ASCII and UTF-8 Encoding in computer systems?
- Overview video
- What is Command line, its comands and shell scripting
Now you should start off by learning a high level programming language (Pick C/C++ or Python or JavaScript)
- Learn fundamentals of a programming language
- What is a library/package in a programming language?
- What is an algorithm or pseudo code in programming?
- How to find Time complexity and Space complexity of a program?
- Learn and practice DSA
- What is Internet and how it connects different machines?
- How Browser Softwares Works when you surf the internet?
- How websites are made?
- Multimedia in Modern Web Development(Different file formats of Audio, Video and Graphics with their purpose and use.)
- Languages of Web and their purpose?
- What are ISPs and WWW?
- URL, DNS and IP (How website loads, and what happens when you enter a URL in address bar?)
- TCP/IP Protocols, TLS, and OSI Model
- Payload in netwroking
- Communication Protocols (TCP, UDP, HTTP, HTTP versions, Bidirectional protocols, GRPC) Use, Working, Limitations
- Security (Network Protocol Security at each level, Web Security)
- Internet and History
- IP, MAC Address, Network card, Port
- Public and Private network/IP
- OSI Model
- Port forwarding and communication
- TCP vs UDP
- TCP 3-way handshake
- TCP Handshake protocols - SYN, SYN-ACK, ACK and flooding attacks
- Functions of Server Machine
- Tier Architecture (Single vs Two-Tier vs Three-Tier vs N-Tier)
- MVC vs MVVC vs MVVM
- Pull and Push Mechanism
- Monolithic (Tightly Coupled) vs Distributed Applications (Decoupled)
- Web Servers (Types, Caching Mechanism, Threading support, Implementation)
- Databases (Types, Paradigms, Isolation, ACID, Scalability)
- Proxies (Proxies, Reverse Proxies, Load Balancers)
- Caching (Caching layers, Cache eviction)
- Messaging Systems (Types and implementation)
- API Web Frameworks (Types and Architectures)
- Message Formats (Types- XML, JSON, YAML, etc. Protocol Buffers)
- Horizontal and Vertical scaling
- A hybrid solution in scaling a system
- Distributed and Monolithic system
- Microservices vs Monolithic system
- Jamstack
- Severless
- Load Balancing and consistent hashing
- Persistence, notifier, and heartbeat
- Message/Task Queues
- Hashing, Queueing, Scheduling