Skip to content

Instantly share code, notes, and snippets.

@misostack
Last active December 12, 2024 08:53
Show Gist options
  • Select an option

  • Save misostack/5b032f7a8f7b00e40cc11afd73325904 to your computer and use it in GitHub Desktop.

Select an option

Save misostack/5b032f7a8f7b00e40cc11afd73325904 to your computer and use it in GitHub Desktop.
1000 câu hỏi phỏng vấn senior fullstack developer

1000 câu hỏi phỏng vấn senior fullstack developer

Internet

  1. HTTP Protocol
  2. Browsers & Rendering Engine
  3. DNS

Basic Frontend

  1. HTML
  2. CSS
  3. Javascript

OS

  1. Linux System
  2. Process
  3. Thread and Concurrency
  4. Basic Terminal Commands
  5. I/O
  6. Posix basics: stdin, stdout, stderr, pipes
  7. Networking
  8. Shared data between processes

Programming Language

  1. Enterprises: C#/Java
  2. Scripting: PHP/Python/Ruby
  3. Javascript
  4. Fast/General Purpose: Golang/Rust

Version control system

  1. Repo hosting services: github,gitlab,bitbucket
  2. Git commands

Relational Databases

  1. MYSQL/MariaDB
  2. PostgreSQL
  3. MSSQL
  4. Oracle

NoSQL Databases

  1. Document: MongoDB, CouchDB
  2. Columns DB: Cassandra
  3. Time series: InfluxDB, Timescale DB
  4. Realtime: Firebase, RethinkDB

Database Design & Manipulation

  1. ORM
  2. ACID vs BASE
  3. Transaction
  4. N+1 Problem
  5. Database Normalization
  6. Indexes and how they work
  7. Data Repilcation
  8. Sharding Strategies
  9. CAP Theorem for Databases: Consistency, Availability & Partition Tolerance

APIs

  1. REST
  2. gRPC
  3. SOAP
  4. HATEOAS
  5. Open API Spec & Swagger
  6. Authentication: CookieBased,Oauth,BasicAuth,TokenAuth, JWT, OpenID, SAML
  7. Authorization: ACL, RBAC

Caching

  1. CDN
  2. Server side: Redis, Memcached
  3. Client side

Web Securities

  1. Hashing
  2. HTTPS
  3. CSP
  4. CORs
  5. SSL/TLS
  6. OWASP Security Risks

Testing

  1. Unit testing
  2. Integration testing
  3. Funtional testing

CI & CD

  1. CI
  2. CD

Design & Development Principles

  1. GOF Design Patterns
  2. Domain Driven Design
  3. TDD
  4. SOLID
  5. KISS
  6. YAGNI ( XP Programming )
  7. DRY
  8. Clean Code & Clean Architecture

Architectural Patterns

  1. Monolith Apps
  2. Microservices
  3. SOA
  4. CQRS and Event Sourcing
  5. Serverless

Search Engines

  1. Elasticsearch
  2. Solr

Message Brokers

  1. RabbitMQ
  2. Kafka

Containers & Virtualization

  1. Docker
  2. VirtualBox

GraphQL

  1. Apollo
  2. Relay Modern

Graph Databases

  1. Neo4j

Websockets

Web servers

  1. Nginx
  2. Apache
  3. Caddy
  4. MS IIS

Buidling for Scale

  1. Migration Strategies
  2. Horizontal vs Vertical Scaling
  3. Observability: Metrics for logging and other observable items
  4. Instrumentation, Telemetry, Monitoring
@misostack
Copy link
Author

misostack commented Jun 28, 2022

Fullstack JS Developer Interview Outline

NodeJS Platform

  1. NodeJS platform : What is the basic difference compare to other technology like C#, Java, PHP
  2. NodeJS is design for asynchronous executions, can I use synchronous execution?
  3. From developer's perspective, what do you suggest them to use: async or promise?
  4. Parallel vs Sequence. Can you tell me some use cases for them, and how do you do it in NodeJS?
  5. What is global in Node Application? Have you ever use it in your projects and why you need to use it?
  6. Does NodeJS support us to run things in parallel? And can you give me an example? Why and how to do this if it is feasible with NodeJS?

NodeJS Ecosystem

  1. Can you tell me something about the tools that you use in NodeJS. Example: ExpressJS, Sequelize, ...etc
  2. Okie, so can you explain a little bit about middleware in NodeJS and give me use cases for it? Pros and Cons if you use middleware?
  3. Can we use middlewares with response as well? Uecases and how?
  4. Can you tell me something about Event Driven Design Programming? And have you use it before and usecases?
  5. How do you negotiate with exception in your project? Eg: Unhandled exceptions
  6. Can you tell me about REST API? Eg: Can you list some REST API characteristics and explain about it?
  7. Why do we need a file name package.json? Also if you use yarn/npm, there is another file named yarn.lock or package-lock.json
  8. How do you keep all your packages are up to date in your project?
  9. Have you ever optimize your application size on production? And what is your strategy? Imagination, your project use JS/Typescript. Are there any difference?
  10. How are you dealing with localization in NodeJS?
  11. Do you have a chance to work in a sub processing like I'm having a requirement that run a binary in the server, getting output of that binary and use it in my node processes?

Client side to Server side

  1. Can you tell me the difference between Authentication and Authorization?
  2. Can you tell me about the JWT, what kind of information JWT contain?
  3. How long does JWT expire? What is your proposal for its expire time and why?
  4. What do you usually do to deal with token expire in your application? Can you tell me some use cases in your projects?
  5. Is JWT Token secured? How do you protect the user's token in client application?
  6. Do you know "GET request served from cache in firefox but not in chrome?"? And have you deal with it?

Database Technology

  1. Regarding to DBMS, have you work with Relational DB or NoSQL before?
  2. Can you tell me about the DB Engines in MYSQL?
  3. What is the main differences between MYSQL/PostgreSQL compare to MongoDB?
  4. What is ACID?
  5. What is BASE?
  6. Optimization for Database

CAP

  1. Consistency
  2. Availability
  3. Partition Tolerance

Designs & Principles

Operations

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment