阿里Node.js面试题集合.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
阿⾥Node.js⾯试题集合 1. 前提说明: ⾃⼰是在北邮论坛中找的学长内推,当时与学长问了关于阿⾥前端中是否有偏向JavaScript开发(中间件,⼯具库)的⽅向,学长说只有杭 州有类似岗位,最后把我内推到了淘宝UED的团队去了。 简历说明中侧重讲了关于Node.js的经历,JavaScript轮⼦的介绍以及⼀些使⽤了Node.js技术栈的Web项⽬。这点对于前端实习也是⼀个加 分项。 ⼀⾯: ⼀⾯⾯试官问了⼤概有4年开发经验(包括了Java和JavaScript),上来除了标准的⾃我介绍以外,⼤概主要谈论了关于 Node.js,JavaScript语法以及Web开发的领域,对简历中提到的项⽬稍微深⼊问了⼀下。 1. babel或者coffee Script的这些编译到JS的语⾔是如何⼯作的? 这个问题是最纠结的,因为不太清楚⾯试官想问什么,⼤概说了关于Parse的东西,后⾯补充了关于babel的递归引⽤JS⽂件处理的东 西,估计有问题。 2. JavaScript的Async库基本原理是什么? 这个⽹上都有,就是Async的parrllel,waterfall的简单实现,讲出了把callback function替换this域,⽤⼀个list来遍历执⾏,把最终的 error或者result参数填回到Async.parallel([functionList], callback(err,result))中,差不多 3. 你写的Functional.js中monad, curry, laz 的解释和意义? 基本⾯向简历的作品,讲解了⼀点关于monad的简单意义(包裹,传递流,防⽌外部更改),curr 化对JS库函数的意义,还有lazy list 或者range对于那种⼤量数据处理的好处什么的。 4. Node.js框架同其他语⾔框架的⽐较? 答出Node.js特⾊的⾮阻塞IO和异步性,和Python的Flask对⽐,再讲解⼀下express中间件这种模式的特点,差不多了 5. Node.js与Swift在Web领域的未来?(因为我简历写了iOS开发和Swift) 随便扯吧……就是强类型的问题,基于原型⾯向对象优劣,语法糖的问题,还有⽀持库什么的。 其他就是⾃由提问,知道了阿⾥淘宝对前端实习要求基本不⾼,主要是JS熟悉,会Node有加分,⽽且没有固定谁来切图谁写JS ,⼀般都会 ⼀点跨栈的东西。 ⼆⾯: (⼆⾯充分暴露了⾃⼰的若菜本质)。⾯试官是Winter,就是那个知乎的温兆伦的Winter (P8)。⼆⾯是电话+⽹页coding的部分,需要在 电脑,⽹络OK情况下进⾏,要⾃⼰提前准备好(不⾏就说明改个时间……)。开始电话问了⼀些关于JS的东西,什么闭包,Node.js的 require依赖顺序什么的……之后就开始正式⽹页coding。 1. 第⼀题:设计⼀个简单的红绿灯策略,⽐如红灯亮分别为console.log(“red”)这种,要求按照红3s-黄1s-绿1s顺序不断循环展⽰。 这个本来很简单的问题开始愣住了,因为原⽣的setTimeout好久没⽤了,问了问可以使⽤第三⽅库,但原⽣其实有笨办法,就是直接硬编三 个setTimeout,时间分别为0,3s,4s,然后最外层⼀个10s延迟的setInterval的来重复。虽然效果但是这肯定不对,因为这直接⽆视了事件 发⽣相对顺序,靠着全局时间来实现,长期下去由于JS 引擎的延时会最终乱掉。 第⼆种想法,我借⽤了Promise,⼤概就是⽤Promise⾥⾯resolve⼀个setTimeout的函数模拟事件结束,最后由Promsie.then控制流程,好 处就是绝对不会出现事件先后顺序错乱,⽽且写起来简单。 1 function button(color, time) { 2 let p = new Promise( function (resolve, reject) { 3 setTimeout( function() { 4

文档评论(0)

洞察 + 关注
官方认证
文档贡献者

博士生

认证主体宁夏三科果农牧科技有限公司
IP属地宁夏
统一社会信用代码/组织机构代码
91640500MABW4P8P13

1亿VIP精品文档

相关文档