ElemeFE-background

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

View more

Module

  • [Common] Module
  • [Common] Hotfix
  • [Common] Context
  • [Common] Package Manager

Common Problem

View more

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]

View 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]

View 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]

View more

Network

  • [Doc] Net
  • [Doc] UDP/Datagram
  • [Doc] HTTP
  • [Doc] DNS
  • [Doc] ZLIB
  • [Common] RPC

Common Problem

View more

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]

View 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]

View more

Test

  • [Common] Methods
  • [Common] Unit Test
  • [Common] Benchmarks
  • [Common] Integration Test
  • [Common] Pressure Test
  • [Doc] Assert

Common Problem

View more

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]

View more

Storage

  • [Common] Sql
  • [Common] NoSql
  • [Bonus] Cache
  • [Bonus] Consistency

Common Problem

View more

Security

  • [Doc] Crypto
  • [Doc] TLS/SSL
  • [Doc] HTTPS
  • [Bonus] XSS
  • [Bonus] CSRF
  • [Bonus] MITM
  • [Bonus] Sql/Nosql Injection

Common Problem

View more

Final

Current repo is translating, you can report on issues freely if there is typo or reading problem.