【Node.js面試題】聽說會作這幾道題的人都能妥妥月入15K以上,不知道真假

聽說會作這幾道題的人都能妥妥月入15K以上,不知道真假


實現一個簡單 MySQL ORM 模塊


支持相似以下的使用方法(最好包含基本的單元測試):node


const orm = new MyORM({  // mysql鏈接信息  connection: {
   host: '127.0.0.1',
    port
: 3306,
    user
: 'root',
    password
: '',
    database
: 'test'
   },
});

orm.table('xxxx').find(query).skip(0).limit(20)
.then(list => console.log('results', list))
.catch(err => console.log(err))

orm.table('xxxxx').update(query, update)
.then(ret => console.log(ret))
.catch(err => console.log(err))

// 另外須要支持基本的 delete, findOne 等方法


實現一個簡單的 Redis Session 中間件


支持相似以下的使用方法(最好包含基本的單元測試):mysql


// 初始化中間件
app.use(mySession({  connection: {host: '127.0.0.1', port: 6379}, // Redis鏈接信息  maxAge: 3600, // session的有效期  sessionId: 'my.sid', // session ID 的cookie名稱
}));// 使用時直接在 req.session 上添加或刪除屬性便可


使用 net 模塊實現一個簡單的 HTTP 客戶端


支持相似以下的使用方法(最好包含基本的單元測試):sql


request({  method: 'POST', // 請求方法  url: 'http://xxx.com', // 請求地址  qs: {a: 123, b: 456}, // query查詢參數  form: {c: 111, d: 'zxxxxx'}, // post body參數  headers: {    'user-agent': 'SuperID/Node.js', // 請求頭  },}).then(ret => {  // ret.headers 表示響應頭  // ret.statusCode 表示響應代碼  // ret.body 表示響應內容(Buffer)
}).catch(err => console.log(err))


實現一個簡單的測試單元框架


支持相似以下的使用方法(最好包含基本的單元測試):後端


// 同步功能測試
test('測試1', function () {  assert.euqal(1 + 1, 2);
});
// 異步功能測試
test('測試2', function (done) {  setTimeout(function () {    assert.equal(2 + 2, 4); done();  }, 100);
});


執行測試後返回相似以下的結果:cookie


測試1 - 耗時100ms - 失敗
測試2 - 耗時125ms - 經過


參與方式


cnodejs帖回覆答案,由@leizongmin  大神給出指點session


老雷簡介


老雷(雷宗民),一登高級後端工程師,《Node.js實戰(雙色)》和《Node.js實戰(第2版)》做者之一,xss模塊做者,5年Node.js使用經驗,GitHub: leizongminapp


全文完框架

歡迎關注個人公衆號【node全棧】異步


node全棧.png



若是想參與評論答題,請點擊原文連接,進入國內最專業的cnode論壇xss

https://cnodejs.org/topic/56edfa7cb705742136388fb4

相關文章
相關標籤/搜索