mirror of
https://github.com/ElemeFE/node-interview.git
synced 2025-12-08 20:59:52 +00:00
6.0 KiB
6.0 KiB
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
uncaughtExceptionevent? 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.
