Guide
Common
It’s much more diff between frontend and backend.
[Common]
Type judgment[Common]
Scope[Common]
Reference[Common]
Memory release[Common]
ES6+ features
Common Problem
Module
[Common]
Module[Common]
Hotfix[Common]
Context[Common]
Package Manager
Common Problem
Event & Async
[Common]
Promise[Doc]
Events[Doc]
Timers[Bonus]
Blocking & Non-blocking[Bonus]
Parallel & Concurrent
Common Problem
- What’s the difference between the Promise’s second argument of ‘.then’ function and ‘.catch’ function? [more]
- Is the Eventemitter.emit synchronous or asynchronous? [more]
- How to judge whether a interface is asynchronous? Is it asynchronous while a callback provided? [more]
- Diff among nextTick, setTimeout and setImmediate? [more]
- How to implement a Sleep function? [more]
- How to implement an async.reduce? [more]
Process
[Doc]
Process[Doc]
Child Processes[Doc]
Cluster[Bonus]
IPC[Bonus]
Daemon
Common Problem
- What’s the current working directory of the process? What’s it for? [more]
- Difference between child_process.fork and fork in POSIX? [more]
- Does the death of parent process or child process affect each other? What is an orphan process? [more]
- How does the cluster load balance work? [more]
- What’s daemon process? how to implement? [more]
IO
[Doc]
Buffer[Doc]
String Decoder[Doc]
Stream[Doc]
Console[Doc]
File System[Doc]
Readline[Doc]
REPL
Common Problem
- What does Buffer for? Can we change the buffer’s size? [more]
- What’s the highWaterMark & drain event of Stream? What’s their relation? [more]
- What’s Stream.pipe for? Is it make copy or pass object while piping? [more]
- What is stdio, stdout, stderr and file descriptor? [more]
- Is console.log asynchronous? How to implement console.log? [more]
- How to get user input synchronously? [more]
- How to implement ‘Readline’? [more]
Network
[Doc]
Net[Doc]
UDP/Datagram[Doc]
HTTP[Doc]
DNS[Doc]
ZLIB[Common]
RPC
Common Problem
OS
[Doc]
TTY[Doc]
OS[Doc]
Command Line Options[Common]
Load[Bonus]
CheckList[Common]
Indicators
Common Problem
- What’s TTY? How to check if terminal is TTY? [more]
- Is there different among operating system’s EOL(end of line)? [more]
- What is system load? how to check it? [more]
- What’s ulimit for? [more]
Error handle & Debug
[Doc]
Errors[Doc]
Domain[Doc]
Debugger[Doc]
C/C++ Addon[Doc]
V8[Bonus]
Memory snapshot[Bonus]
CPU Profilling
Common Problem
- How to handle unexpected errors? With try/catch, domains or something eles? [more]
- What is
uncaughtException
event? when shoud we use it? [more] - What is domain’s principle? why domain is deprecated? [more]
- What’s defensive programming? how about ‘let it crash’?
- Why we need error-first callback? why there are callback not error-first, such as http.createServer?
- Why there are errors can’t location? how to locate accurately? [more]
- What cause memory leak? how to locate and analyse it? [more]
Test
[Common]
Methods[Common]
Unit Test[Common]
Benchmarks[Common]
Integration Test[Common]
Pressure Test[Doc]
Assert
Common Problem
Util
[Doc]
URL[Doc]
Query Strings[Doc]
Utilities[Common]
Regex
Common Problem
- How does HTTP pass
let arr = [1,2,3,4]
to the server by GET method? [more] - How to implement util.inherits in Node.js? [more]
- How do I get all the file names under a folder? [more]
Storage
[Common]
Sql[Common]
NoSql[Bonus]
Cache[Bonus]
Consistency
Common Problem
Security
[Doc]
Crypto[Doc]
TLS/SSL[Doc]
HTTPS[Bonus]
XSS[Bonus]
CSRF[Bonus]
MITM[Bonus]
Sql/Nosql Injection
Common Problem
Final
Current repo is translating, you can report on issues freely if there is typo or reading problem.