與前端 Js 不一樣, 後端是直面服務器的, 更加偏向內存方面.
[Basic] 類型判斷
[Basic] 做用域
[Basic] 引用傳遞
[Basic] 內存釋放
[Basic] ES6 新特性
常見問題
js 中什麼類型是引用傳遞, 什麼類型是值傳遞? 如何將值類型的變量以引用的方式傳遞?
js 中, 0.1 + 0.2 === 0.3 是否爲 true ? 在不知道浮點數位數時應該怎樣判斷兩個浮點數之和與第三數是否相等?
const 定義的 Array 中間元素可否被修改? 若是能夠, 那 const 修飾對象的意義是?
JavaScript 中不一樣類型以及不一樣環境下變量的內存都是什麼時候釋放?
前端
[Basic] 模塊機制
[Basic] 熱更新
[Basic] 上下文
[Basic] 包管理
常見問題
a.js 和 b.js 兩個文件互相 require 是否會死循環? 雙方是否能導出變量? 如何從設計上避免這種問題?
若是 a.js require 了 b.js, 那麼在 b 中定義全局變量 t = 111 可否在 a 中直接打印出來?
如何在不重啓 node 進程的狀況下熱更新一個 js/json 文件? 這個問題自己是否有問題?node
[Basic] Promise
[Doc] Events (事件)
[Doc] Timers (定時器)
[Point] 阻塞/異步
[Point] 並行/併發
常見問題
Promise 中 .then 的第二參數與 .catch 有什麼區別?
Eventemitter 的 emit 是同步仍是異步?
如何判斷接口是否異步? 是否只要有回調函數就是異步?
nextTick, setTimeout 以及 setImmediate 三者有什麼區別?
如何實現一個 sleep 函數?
如何實現一個異步的 reduce? (注:不是異步完了以後同步 reduce)
正則表達式
[Doc] Process (進程)
[Doc] Child Processes (子進程)
[Doc] Cluster (集羣)
[Basic] 進程間通訊
[Basic] 守護進程
常見問題
進程的當前工做目錄是什麼? 有什麼做用?
child_process.fork 與 POSIX 的 fork 有什麼區別?
父進程或子進程的死亡是否會影響對方? 什麼是孤兒進程?
cluster 是如何保證負載均衡的?
什麼是守護進程? 如何實現守護進程?
redis
[Doc] Buffer
[Doc] String Decoder (字符串解碼)
[Doc] Stream (流)
[Doc] Console (控制檯)
[Doc] File System (文件系統)
[Doc] Readline
[Doc] REPL
常見問題
Buffer 通常用於處理什麼數據? 其長度可否動態變化?
Stream 的 highWaterMark 與 drain 事件是什麼? 兩者之間的關係是?
Stream 的 pipe 的做用是? 在 pipe 的過程當中數據是引用傳遞仍是拷貝傳遞?
什麼是文件描述符? 輸入流/輸出流/錯誤流是什麼?
console.log 是同步仍是異步? 如何實現一個 console.log?
如何同步的獲取用戶的輸入?
Readline 是如何實現的? (有思路便可)
sql
[Doc] Net (網絡)
[Doc] UDP/Datagram
[Doc] HTTP
[Doc] DNS (域名服務器)
[Doc] ZLIB (壓縮)
[Point] RPC
常見問題
cookie 與 session 的區別? 服務端如何清除 cookie?
HTTP 協議中的 POST 和 PUT 有什麼區別?
什麼是跨域請求? 如何容許跨域?
TCP/UDP 的區別? TCP 粘包是怎麼回事,如何處理? UDP 有粘包嗎?
TIME_WAIT 是什麼狀況? 出現過多的 TIME_WAIT 多是什麼緣由?
ECONNRESET 是什麼錯誤? 如何復現這個錯誤?
socket hang up 是什麼意思? 可能在什麼狀況下出現?
hosts 文件是什麼? 什麼叫 DNS 本地解析?
列舉幾個提升網絡傳輸速度的辦法?
數據庫
[Doc] TTY
[Doc] OS (操做系統)
[Doc] Path
[Doc] 命令行參數
[Basic] 負載
[Point] CheckList
常見問題
什麼是 TTY? 如何判斷是否處於 TTY 環境?
不一樣操做系統的換行符 (EOL) 有什麼區別?
服務器負載是什麼概念? 如何查看負載?
ulimit 是用來幹什麼的?編程
[Doc] Errors (異常)
[Doc] Domain (域)
[Doc] Debugger (調試器)
[Doc] C/C++ 插件
[Doc] V8
[Point] 內存快照
[Point] CPU profiling
常見問題
怎麼處理未預料的出錯? 用 try/catch ,domains 仍是其它什麼?
什麼是 uncaughtException 事件? 通常在什麼狀況下使用該事件?
domain 的原理是? 爲何要棄用 domain?
什麼是防護性編程? 與其相對的 let it crash 又是什麼?
爲何要在 cb 的第一參數傳 error? 爲何有的 cb 第一個參數不是 error, 例如 http.createServer?
爲何有些異常無法根據報錯信息定位到代碼調用? 如何準確的定位一個異常?
內存泄漏一般由哪些緣由致使? 如何分析以及定位內存泄漏?
json
[Basic] 測試方法
[Basic] 單元測試
[Basic] 集成測試
[Basic] 基準測試
[Basic] 壓力測試
[Doc] Assert (斷言)
常見問題
爲何要寫測試? 寫測試是否會拖累開發進度?
單元測試的單元是指什麼? 什麼是覆蓋率?
測試是如何保證業務邏輯中不會出現死循環的?
mock 是什麼? 通常在什麼狀況下 mock?
後端
[Doc] URL
[Doc] Query Strings (查詢字符串)
[Doc] Utilities (實用函數)
[Basic] 正則表達式
常見問題
HTTP 如何經過 GET 方法 (URL) 傳遞 let arr = [1,2,3,4] 給服務器?
Node.js 中繼承 (util.inherits) 的實現?
如何遞歸獲取某個文件夾下全部的文件名?
跨域
[Point] Mysql
[Point] Mongodb
[Point] Replication
[Point] 數據一致性
[Point] 緩存
常見問題
備份數據庫與 M/S, M/M 等部署方式的區別?
索引有什麼用,大體原理是什麼? 設計索引有什麼注意點?
Monogdb 鏈接問題(超時/斷開等)有多是什麼問題致使的?
什麼狀況下數據會出現髒數據? 如何避免?
redis 與 memcached 的區別?
[Doc] Crypto (加密)
[Doc] TLS/SSL
[Doc] HTTPS
[Point] XSS
[Point] CSRF
[Point] 中間人攻擊
[Point] Sql/Nosql 注入
常見問題 加密是如何保證用戶密碼的安全性? TLS 與 SSL 有什麼區別? HTTPS 可否被劫持? XSS 攻擊是什麼? 有什麼危害? 過濾 Html 標籤可否防止 XSS? 請列舉不能的狀況? CSRF 是什麼? 如何防範? 如何避免中間人攻擊?