Skip to content

Instantly share code, notes, and snippets.

@snghnishant
Last active September 13, 2023 17:32
Show Gist options
  • Save snghnishant/300acf76212de9a070c3f25fc4dfeed2 to your computer and use it in GitHub Desktop.
Save snghnishant/300acf76212de9a070c3f25fc4dfeed2 to your computer and use it in GitHub Desktop.
A gist of Important Web Technology and Computer Science topics

Web Technology and Computer Science Engineering (CSE)

Core CSE Subjects

  1. Software Programming, Data Structure and Algorithms (DSA)
  2. Operating System (OS)
  3. Database Management System (DBMS)
  4. Computer Networks (CN)
  5. Design Patterns and System Design
  6. 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

Software Programming

  1. What is a computer and what are the main components of a computer?
  2. What is binary programming and assembly programming and how a computer executes binary code to function?
  3. What are the differences between a high level and low level computer programming language?
  4. What is an interpreted and compiled programming language?
  5. How an high level programming language executes on a computer?
  6. What is a computer instruction set, 32bit vs 64bit?
  7. What is a computer program and how it's written?
  8. What is a computer application?
  9. What is a computer software?
  10. What are the computer memory measurment units (bit, nibble, byte, Kb vs KB, Mb vs MB, ...)?
  11. What is ASCII and UTF-8 Encoding in computer systems?
  12. Overview video
  13. 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)

DSA

  1. Learn fundamentals of a programming language
  2. What is a library/package in a programming language?
  3. What is an algorithm or pseudo code in programming?
  4. How to find Time complexity and Space complexity of a program?
  5. Learn and practice DSA

Fundamentals of Web

  1. What is Internet and how it connects different machines?
  2. How Browser Softwares Works when you surf the internet?
  3. How websites are made?
  4. Multimedia in Modern Web Development(Different file formats of Audio, Video and Graphics with their purpose and use.)
  5. Languages of Web and their purpose?

Computer Networking

  1. What are ISPs and WWW?
  2. URL, DNS and IP (How website loads, and what happens when you enter a URL in address bar?)
  3. TCP/IP Protocols, TLS, and OSI Model
  4. Payload in netwroking
  5. Communication Protocols (TCP, UDP, HTTP, HTTP versions, Bidirectional protocols, GRPC) Use, Working, Limitations
  6. Security (Network Protocol Security at each level, Web Security)
  7. Internet and History
  8. IP, MAC Address, Network card, Port
  9. Public and Private network/IP
  10. OSI Model
  11. Port forwarding and communication
  12. TCP vs UDP
  13. TCP 3-way handshake
  14. TCP Handshake protocols - SYN, SYN-ACK, ACK and flooding attacks

Web Architecture

  1. Functions of Server Machine
  2. Tier Architecture (Single vs Two-Tier vs Three-Tier vs N-Tier)
  3. MVC vs MVVC vs MVVM
  4. Pull and Push Mechanism
  5. Monolithic (Tightly Coupled) vs Distributed Applications (Decoupled)
  6. Web Servers (Types, Caching Mechanism, Threading support, Implementation)
  7. Databases (Types, Paradigms, Isolation, ACID, Scalability)
  8. Proxies (Proxies, Reverse Proxies, Load Balancers)
  9. Caching (Caching layers, Cache eviction)
  10. Messaging Systems (Types and implementation)
  11. API Web Frameworks (Types and Architectures)
  12. Message Formats (Types- XML, JSON, YAML, etc. Protocol Buffers)

System Design

  1. Horizontal and Vertical scaling
  2. A hybrid solution in scaling a system
  3. Distributed and Monolithic system
  4. Microservices vs Monolithic system
  5. Jamstack
  6. Severless
  7. Load Balancing and consistent hashing
  8. Persistence, notifier, and heartbeat
  9. Message/Task Queues
  10. Hashing, Queueing, Scheduling
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment