nodejs面试题,node面试题面试必问
大家好,感谢邀请,今天来为大家分享一下nodejs面试题的问题,以及和node面试题面试必问的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
Node.js 的面试题是怎么样的
考察点主要根据其简历涉及的部分来。如果简历里比较泛泛,一般会先考察http相关的基础、基本的stream、稍复杂的异步流程处理。大部分泛泛之辈在这里就挂了。
考察过程一定是写代码,判定初级、中级高级主要根据其写代码的表现。比如coding速度、对api和常见库的选择和熟悉程度、遇到问题是如何调试的、边界情况和错误处理等等。基本上这些已经足够判定的了。
目前尚未遇到纯后端的候选人简历里写nodejs的。即使是全端工程师,也主要是应用开发为主,所以不会专门问运维相关的题目,除非候选人的简历里有相关经验。
另外,前端光会js是不够的,除非候选人计算机基础特强,学习能力考察下来也ok,那么我判断其可以很快掌握html/css等其他领域的必备技能。否则也过不了。
而如果是后端,仅仅会js是肯定不行的(目前还没有遇到过这样的人)。我个人对后端工程师的看法,在主力语言之外,至少还要熟练掌握其他与其主力语言有较大不同的编程语言1门。
面试官问我为什么不用nodejs
一般来说面试我都记下印象深刻的面试题,其他感觉都没什么好记的,但是今天这个面试的过程感觉是我职业生涯中比较有意思的一次面试,遂分享出来。
今天顶着大太阳出去面试,找了好久终于找到了这家公司的位置,貌似是集体办公区域,就是一层楼有N个公司在办公,也没什么隔断。心想创业公司吧,这样也正常。在这之前已经面过三家公司都挺顺利,公司规模都还可以,还有一家一面也是过了等二面。之所以来这家公司面呢是因为对公司的产品还挺感兴趣的,想来看看。
然后到地方后面试官先给了我一份卷子做,都是些很简单的题,写完后等了好久面试官来了,开始进行面试。面试官先看了下我的简历,然后说你怎么两年才做这么4个项目,尤其是第一家才1个项目。我说外包公司项目多,没必要挨个写上,写上最近一家公司的项目,和之前公司代表性的项目就行了。然后他就教育了我一番,说怎么写这么点儿呢,很容易让人觉得你啥都没做,做过的都得写上。我之前一直以为我这种两年多经验的写一页简历足够了,不过他说了下我觉得确实可以考虑考虑多写一些。。。不过老实说我在想。。难道他毕业四五年了还把刚毕业的项目往简历上写?
吐槽完项目。面试官不知道为什么看着我的简历以为是培训班出来的,然后就旁敲侧击的问我毕业是否有参加过什么培训啊。我满脸黑线,我简历写的我第一份工作毕业就进去的,而且我项目都是专业领域性很强的项目,这是从哪儿看出来的。然后这面试官又问我那你大学都学什么课程啊,我又耐着性子解释了一圈。然后他看问不出啥的就没问了。然后就问了一个项目有关的正常问题。开始问我技术了。最后问我有什么想问的,我就照例问了下公司技术栈,然后他说后端用java nodeJs,我就问为什么后端会用两种技术栈?然后他回答道,这么用肯定是处于公司技术考量啊,巴拉巴拉的,反正最后也没说个明白为啥会用两种技术。。然后这个时候提了一嘴既然采用nodeJs是觉得更加方便为什么不考虑考虑使用Python。老实说我觉得我这句话作为大家都是技术人员,技术探讨性的问题应该很正常吧,结果这句话不知道为什么又把他戳高潮了,他直接回到为什么要用Python?我在严肃的和你讲公司技术栈,你觉得这样好吗?你觉得这样提问好吗?你这样随意的一问觉得合适吗?
最后伴随着这几个疑问,面试结束了。。。老实说我被面的有点稀奇古怪的,尽管他问的问题我觉得我应该全都回答上了,但看他的样子似乎很不高兴。。。面完后我的内心状态应该如下吧
可口可乐有趣的面试题
可口可乐有趣的面试题
可口可乐有趣的面试题,在面试的过程中面试题目对于面试者来说是非常重要的一个部分,那么有趣的面试题目也是有很多发掘人的潜质的,以下分享可口可乐有趣的面试题。
可口可乐有趣的面试题1曾在网上看到了一道可口可乐的面试题,很有意思,题目是这样的:
如果你是本公司的业务员,你在一辆载着过期面包的卡车上,准备到偏远的地方把这些面包销毁,这些面包虽然过期了,但还是可以食用的。
可是在半路上碰到一群灾民,他们十分饥饿,灾民们把卡车拦了下来,而这些灾民知道卡车里是面包。在这些灾民里还有正在灾民中采访的好几家记者也很关注这件事。请问你会怎么处理这件事情,既不让记者报道可口可乐的负面新闻,又可以让这些灾民对可口可乐留下好的印象呢?题目的备注是当时没有信号,无法与总部联系,而且贿赂记者也是不允许的。
这道题没有标准的答案,无论谁碰上这样的情况都是很棘手的,面包虽然过期了,可还是可以食用的,可是如果让记者报道可口可乐公司把过期的面包给灾民食用,那么则会对可口可乐的形象造成很大的影响。可是如果不让灾民食用这些面包,那么有可能一些灾民就会失去生命……这是一个两难的选择。而更为麻烦的是当时没有信号,因此与总部也联系不到,一切都只能自己决定,也就是说可口可乐公司的形象如何,全靠这一个业务员了。
这一道题目难的并不是如何处理灾民与面包的事,难的是一个业务员如何能在公司陷入困境的时候不但可以解开困境,而且可以为公司争取良好的形象,这样的业务员可以说是百里挑一了。
我看了一下网友的答案,网友的答案很多,有的网友说告诉记者只是生产日期打错了,但已无法更改,因此无法在市场上销售,但是面包并没有过期。还有网友说把记者召集在一起,然后明确地告诉记者,这是过期面包,但是食用后对身体是没有害处的,并且把自己的为难之处告诉记者,希望能够得到记者的理解。甚至有的网友说可以把可口可乐的标志去掉,换上百事可乐的,这样就可以放心地把面包发给灾民了……
网友的答案很多,可是一个网友的答案却得到了大家的一致认可,他的答案是这样的:找机会让灾民哄抢面包,而业务员则表现出惊慌失措的样子阻拦灾民哄抢面包,而事后则要当着记者的面告诉灾民,如果吃了可口可乐的面包身体有任何不适,则一定要与可口可乐公司联系,而且这名网友说道,他会告诉灾民,可口可乐公司第二天一定会给灾民运来合格的面包让大家吃。
答案后面有人问道,你怎么能说第二天一定会运来面包呢?这名网友说道,第二天运来面包是对可口可乐公司最好的宣传,一车面包的费用和可口可乐公司每年巨额的广告费用支出相比不值一提,可口可乐公司怎么会不答应呢?
最后这名网友说其实这是他面试的答案,他现在已经是可口可乐公司的一名业务员了。他当初想到这个答案的时候,一方面想到的是可口可乐公司的声誉和影响,可是更重要的,他想到的是那些灾民,如果在工作和让灾民吃上面包之间选,他一定会选择让灾民吃上面包,幸运的是可口可乐公司认同了他的想法。
可口可乐有趣的面试题2面试题目:
有n个数,n-1个重复偶数次,1个出现奇数次,怎么找出出现奇数次的那个数
这个问题是一个同事面试时问到的题目,我觉得很有趣,就拿来自己用了,题目的答案在最下面。
在看这个问题前,先聊聊一个前端面试一个问题
前端面试是否考察算法
大概2年前,我在微博上面看到两位大牛的争论:
@pureFE对@真阿当说:阿当哥你好:我是一名在校学生,文科专业。前一段找实习的过程中注意到一些公司有算法要求。对于前端来说,专业知识的补习路线应该如何安排,应该像计算机专业那样从C、数据结构等等开始吗?对于前端开发者来说,专业知识应该达到何种程度才是合格?不知您能否指点一二,感激不尽!
@真阿当:前端在实战中对算法和数据结构几乎没有要求,在你当下的境况学习这些知识对你找工作一点帮助也没有。前端开发的门槛低,所以有很多非科班出身的人从这个领域进入IT圈,你无需为“非科班出身”背上压力。为找工作的话,建议最快的路线是:先学css、后学一些基础js书……
@寒冬winter:100%反对。
回复@真阿当:阿当你经常说前端工程师应该团结起来加强影响力,你就是这么让大家加强的么?没有算法能力,前端工程师怎么去实现新的交互效果?没有数据结构知识,前端工程师怎么处理大数据?没有这样的能力,前端怎么去承担更重要的职责?
@真阿当:算了,不争了,我该表达的都表达完了。求同存异。我的言论也只代表我个人看法,不保证一定是对的,各人有各人自己认同的发展路线。更倾向于哪种观点,决策权在诸位自己手上,冷暖自知谁也替不了你。不要动不动就“误人子弟”帽子扣下来,我担不起,也不想担。一家之言,说的是自己的真实感想。到此为止
@真阿当回复@糕富帅是我的人生理想:恩,是的,我说过要想前端能走得远一些,至少用原生js锻炼半年以上。我说的是“如何成为一个高级工程师”,而不是“如何跨入门槛”。绝大多数公司在面试时只会看这个人“在这个领域的基本功”怎么样,过不了这一关,跨不过入行的门槛。所以要先学会怎么通过面试。
@寒冬winter:目前为止我好像没听说哪个前端因为学习计算机基础知识耽误了专业技能,从当年51js我认识的人来看,基础好的无一例外几年后立于行业顶点,而那些"顺应市场"的人,不知去了哪里。实际上,这只关乎人的素质,舍弃了基础节约的时间并不能用于其它知识或者英语。
我这边的答案也是需要的,直接举一些例子:
最近很火的框架reactjs,他的核心就是实现了一个虚拟dom,每次页面的更新都能通过虚拟dom计算出最小变更内容,从而达到页面高效的刷新,实现最小diff的算法很关键
腾讯在手机web上实现了利用localstorage存储js,然后js实现增量更新的算法,达到每次刷新仅仅请求变更了的js内容,这样就解决了手机端流量宝贵和网速慢的`问题,实现增量更新的算法很关键
我刚来百度时,组内有一位echart的贡献者,在一次组内分享中,一个大数据量储存的优化的问题,大概是下面这样的数
[100001, 100002, 100003...]
在通过canvas绘图时,会比较费内存,然后他就使用时间换空间的方式处理如下
[1, 2, 3...]设定base是100000
这样就解决了一定数据量内存过大的问题。
我觉得上面的例子就足够支撑算法在前端的重要性了,因为现在的前端不在仅仅是还原一些UI设计,做做交互了,实现一些功能了。
现在的前端越来越复杂,涉及面越来越多,向后延生可以利用nodejs去做服务端(全栈工程师);平行延生可以用react native去做native的开发;纵向延生,也会考虑webapp内存泄露,性能调优,打包编译,线上部署等等。
这些东西研究的越深,对于计算机基础知识的要求就越高,当然其中就包含了算法基础。
那么问题来了,如果我们对于算法没有基础怎么办,其实我开始就是对算法没有什么研究,也不知道怎么运用在工作中,只是后来的工作中,慢慢发现自己对于计算机一些基础的匮乏,根据需要一点点补充的。
第一次在前端接触简单的算法是在看一个桌球游戏的源码时,游戏里面球的碰撞,反弹,加速度等,都是一些简单的计算和物理知识,挺有趣的
回到面试题,我们可以聊聊这个题目为什么我觉得挺不错的
1、如果没有算法基础的人,如果思维不错,至少能够在一定时间内给出一个比较笨的解决方案,然后给与一些提示,能够引导到我期望的答案
2、对于有算法基础的人,能够大概说出几种解决方案,在我们余下的沟通中,回答一个我期望的答案,甚至更好的答案
关于nodejs面试题,node面试题面试必问的介绍到此结束,希望对大家有所帮助。