招node.js(附测试题)史上最奇特招聘
发布于 10天前 作者 wdongxv 1675 次浏览 最后一次编辑是 4天前 来自 招聘

公司坐标: 北京 海淀 魏公村

薪资: 你来定(创业公司,你懂的)

福利: 五险一金,双休,mac,千万级用户,10M速度翻墙

工作职责: 负责app云端服务开发。

职位要求:

  1. 至少要对js的特性了解
  2. 要求对http协议精通,了解socket原理
  3. 精通json,mysql,mongodb
  4. 具备精益求精的心态

联系: MAC用户执行: node -e "$(curl -fsSL $(echo aHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3dkb25neHYvanN0ZXN0L21hc3Rlci90ZXN0LmpzCg== | base64 -D))" Linux(centos测试通过)用户执行: node -e "$(curl -fsSL $(echo aHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3dkb25neHYvanN0ZXN0L21hc3Rlci90ZXN0LmpzCg== | base64 -d))"

连Linux都没有的就别来,没天分

37 回复

var value1 = 0, value2 = 0, value3 = 0; for ( var i = 1; i <= 3; i++) { var i2 = i; (function() { var i3 = i; setTimeout(function() { value1 += i; value2 += i2; value3 += i3; }, 1); })(); } setTimeout(function() { console.log(value1, value2, value3); }, 100); 没解出来。。 @jiangli373

setTimeout的闭包里 引用的 i i2 分别是 4 3 3个不同的闭包 3次相加 value1 = 12 value2 = 9 i3 是每次循环是i的值 分别是 123 value3 =6

@yekexuan 其实就是一个作用域的问题,堆栈中三个func执行时i i2 i3的值的问题,不过不理解出题者费这么大劲包装这道题的意图是什么

出题思路本身有点意思,实际考的问题有点扯 wdx345 <- add wechat

楼主,我最近也出了也出了一份nodejs测试题,帮我们公司面了好几个人了,要不要我给你发一份,让你测得更酸爽😁😁,嘿嘿

12 9 6瞬间懂,闭包,作用域,定时器。。。。。。。

测试很赞啊

echo aHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3dkb25neHYvanN0ZXN0L21hc3Rlci90ZXN0LmpzCg== | base64 -D base64: invalid option – ‘D’ Try `base64 --help’ for more information.

跑不出东西…

@fantasticsoul 重点不在测试,我们招人招的是人,不是技术

@chapgaga 可能mac下才行,其它平台没试过

@frosh 其实就是看一个人是否对代码有很深的理解

@wdongxv 不能弄的通用点么?用linux的人还是不少的啊

@chapgaga 浏览器直接atob(‘aHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3dkb25neHYvanN0ZXN0L21hc3Rlci90ZXN0LmpzCg==’)

直接把Windows系統過濾掉了呃

@jiangzhuo 哈哈,问题是我这现在没windows的系统,帮忙写个?

base64,网上可以找很多线上解码的,这道题最有意思的是联系方式,开始还以为最后跑出的结果是呢,跑出来后发现不是,看了@frosh的答案,才发现原来如此啊!

直接把url解码, 浏览器访问,就能看到源码了。联系方式在源码有点显眼,建议加下密

@gaoyue1989 有必要嘛,嘿嘿

12 原来如此 … i = 4, i <= 3 不满足 …

@wdongxv 这是在秀代码还是真心在招聘呢。。。。 感觉都跑题了

公司氛围很不错,老大是大牛,期待加入

@frosh 真心要招聘。。。。

@fantasticsoul 求酸爽 到 D_ttang@163.com 谢谢

答案,wechat都在题目中,不给力。起码得需要服务器验证后再返回联系方式才有趣。

@yekexuan 我是这样理解的 i,i2 都是在主栈中,i3是在新函数栈中,所以,当外部的循环结束后,最后作计算的函数个函数调用的i,i2都是最后的指,i3在函数中,所以,每次都是不同的.

@xhq8888 有必要吗?要不给整个难的?

@zhangjg 回答正确,本题仅仅考的是对程序的理解

@wdongxv 这个程序在os x上运行时 有时会出问题 阻塞的process.stdin一直block在那里 等待输入 导致setIntervalI()一直不运行。windows上我测试着还没有出问题。

此段程序应该这样理解 循环语句条件下: 1.匿名自执行函数与闭包的关系 2.闭包外部匿名函数 3.闭包内部匿名函数 形成3个闭包相加的三个匿名函数的事件循环的异步输出,即个匿名函数事件驱动的经典题目。 包含面向对象封装、继承、多态的思想,大赞!好题! 参照我的分享: 浅谈从一道面试测试题谈谈对Nodejs编程的理解

回到顶部