nodejs相关题目

前序


大四下,创业失败开始找工作,开始了紧张繁忙的复习、笔试、面试,其中也遇到了许多挺有意思的题目,总结我遇到的挺有意思的一些Node或者JavaScript的笔试题目。

1、node如何利用多核,请尽可能的给出几种解决方案。
答:①Multiprocessor Deployment: Using a Proxy,即每个核跑一个Node进程(fork),但是这种方式只是充分的利用CPU的资源,并没有解决并发问题,具体解决办法传送门:https://segmentfault.com/a/1190000007343993

②pm2,当然这个方法与前一种方法类似,都是fork进程,换汤不换药。

2、下面这段代码运行的结果是什么?

for(var i = 0; i <= 3; ++i){
    process.nextTcik(function(){
        console.log(i);
    });
}

这题不用多解释,注意条件中多给的++i与i++的区别,前者是先加后计算,后者反之,结果是4 4 4 4;

3、下面这段代码运行的结果是什么?

var start = new Date().getTime();
setTimeout(function(){
    var end = new Date().getTime();
    console.log("运行耗时:",end-start,"ms");
}, 500);

while(new Date().getTime() - start <= 1000){};
这题笔试时候答了1500,也不知道当时是怎么想的-。-,本题就是考的知识点应该就是一个async的问题,正确答案是1000左右,头疼被我想成了Java里的sleep()。。。

4、C程序可以用pstack pid查询某个程序的运行堆栈,jstack pid可以参看Java程序运行的堆栈,node怎么实现类似的nodestack工具?
笔试的时候这道题我没有答出来,实际上我也没找出参考答案,求高人指点

5、用node实现ping
答、这道题我想应该是node中如何使用ping,也就是查看网络是否畅通,答题的时候以为要引入第三方库,后来想了想应该可以这样实现:

request.head(‘http://’ + ip, function(error, response, body){
if (error) {
//…

} else {
    //...

}
});

没错,就是直接访问ip….

总结


面试还是挺紧张的,还有就是,仅靠平时积累的经验要通过应聘应该很难(站在一个应届生的角度来说),复习、笔记、刷题一样都不能少。

你可能感兴趣的:(nodejs,mongodb,npm)