面试过去了这么久,把八月份面试题和总结发一下吧,虽然年末你们可能都不换工做~ 仍是能够看看的。javascript
关于面试,引用叶老湿的一句话。你的简历是本身工做的答卷,项目经历是你给面试官出的考纲。因此,个人面试必定是与个人简历、工做经历相关的,一些面试题并不必定适用于任何人,可是你能够从中了解他们考察的点,以及侧重点。基础知识能够查漏补缺。css
原文连接html
一家小型创业公司。由于同事有去面过的,他说面试感受挺 diao 的,我就想去试一下啦,拿它先热热身,就从boss上投了简历。
我听错了条件,我觉得要注意返回值的类型必须跟原生的同样,也就是返回一个 number,并能够 clear。无清除定时器功能的立刻就写出来了,可是加清除定时器,还有返回值的问题,就费了半天劲... 也没弄明白。面试官比较着急了,跟我沟通的时候,我才知道返回值不必定非要跟原生的同样。前端
pdf.js
的示例代码,找出这个栗子中为何分辨率很低。主要是看你经过调试去解决问题的能力。就是 hr 和 ceo 了,就是问一些离职缘由,跟公司价值观方面的问题了。vue
不管是一面的 pdf,让我实现一个功能,仍是二面的问题,都是偏重于项目实战的。他们想要的是入职就能干活的人,先能负责某块开发任务。而且在独立解决问题,团队分享方面有所表现。java
这个问题上来就暴露了我对这些细节是没有关注的,而他指望的是,你用 React,连它的实例都没看过,children 多是一个,多是多个也不清楚。node
嵌套多层的他直接说有好几种方法,你随便说几种吧。我历来木有总结过,整我的有点懵逼,也没有回答好。后来整理了一下 React组件之间的通讯 react
再问一个稍微有难度的,组件的 state 嵌套多层的时候,我要让最里面那个 state 变化,怎么作。我开始没理解这是啥意思,他解释说 state 是 { a: { b: { c: { d: 1 } } }
这样,你 setState 的时候,怎么改属性 d 的。我说一层一层的找进去,setState 新对象。他又说那几层是能够的,假如说一百层呢,也这样吗?我就懵逼了。jquery
他说 react helper里面有个 immutable 的库,就是用来处理这种状况的。webpack
immutable 我是知道的,可是我了解的是一般处理不可变数据的。后来查了一下,应该是这种操做。
import { formJS } from 'immutable'; const obj1 = { a: { b: { c: { d: 1 } } } } const obj2 = Immutable.fromJS(obj1).updateIn(['a', 'b', 'c', 'd'], value => value + 1) console.log(obj2.toJS); //{ a: { b: { c: { d: 2 } } } }
腾讯面试的感受就是,没有那么正式,都是部门的技术直接联系的你,而后二面就是部门负责人了,决定了是否入职。二面给个人感受就是,他从 React 入手问一些基础的问题(一些须要留心注意的)。若是没有注意这些点,没有总结,或者看过相似的总结文章,是很难有条理的回答出来的。其实我不太喜欢他这种,“我以为很简单... 你就应该会的” 的方式。可是此次我发现了本身的一个问题,就是面试的时候爱说一些了解的名词,可是实际没用过,刚好这个面试官都比较深刻了解,也比较反感,他认为你这是 “不懂装懂”。因此面大公司,不会的仍是尽可能要说不会,不要犯了面小公司的错误。本身也确实没有作到注意总结,了解也确实比较浅显,为本身之后的工做学习敲响警钟。
因为一面是电话面试,主要问了好多项目的问题,如何解决问题的。
面对面
让我本身去聊项目,去考察个人组织、表达能力,以及沟通能力。并且这也最大程度上能了解到,关于这个项目,你本身思考了多少,主导程度。而后考察主要使用的技术栈,了解的深度如何。而后就是他们业务经常使用的点。刚面完,本身感受其实还能够,由于都能回答出来,可是可能深度还不够吧。天猫的要求仍是比较高的,并且面试官是从杭州过来专门面试的,也有不少候选人同时面试,只能说明本身在这里面还不够出色,不能脱颖而出。
写了一道题,是关于做用域的题。
function fun(n, o) { console.log(o); return { fun: function(m) { return fun(m, n); } } } fun(0).fun(1).fun(2); let fn = fun(0).fun(1).fun; fn(2); fn(3);
这种题好好看看通常能答出来。
function fun() {}
的原型指向哪里 ?Function.prototype
。Object.prototype.toString.call()
吧。const throttle = wait => fn => { var timer; return (...args) => { if (!timer) { timer = setTimeout(() => timer = null, wait); return fn(...args); } } }
他说,怎么没有清定时器。我说节流函数分两种的吧,举个例子,我这个是按钮点击后,500ms 后的点击才会执行。还有一种是两个点击间隔 500ms 以内,只执行一次,防止连续快速点击。后面的没写,大概是这样
const throttle = wait => fn => { var timer; return (...args) => { clearTimeout(timer); timer = setTimeout(() => { fn(...args); }, wait) } }
我问了一个很扯的问题,我能给团队来带什么?面试官说,不能说带来什么吧。一些原本就存在的问题,很难说加入一我的就带来质的改变什么的。最主要的仍是可以独当一面吧,可以负责一个模块。
来滴滴面试的时候,很自信,因此自我感受良好。一面是特别注重基础,各个知识点的问答,想起什么来问什么。看你对基础的掌握状况吧。二面我感受更多的在看你的情商如何了,固然个人情商不是很高,面试官最后也说了,若是我更 open 一些,会更好。说个人简历上也能看出本身尝试了不少东西,能够去突破一下。固然也问了一些技术的问题。三面是团队的前端负责人,从价值观,我的的成长规划,解决问题的能力去考察,也了解了一下指望薪资。最后的问题就是看有没有共同的爱好吧...
相对 tmall,tx 来讲,didi 考察基础,可是又没那么深刻,主要是对应聘者的级别要求不同吧。tmall 的社招不只是看你干活能力,更多的是你会不会去 push 一些东西,其实就是找亮点,你必定要有积极性,好比说推进某个技术在项目的应用,落地。作出一些好的工具,作一些深刻的研究,对业务带来了积极影响。
这块就日常本身项目中,作的足够细致就好了,有时候你提到一个点,他都会对这个点进行深挖,看你对项目的细节是否足够了解,另外还有项目总体上的了解。
mobx 我作过简单的总结。
本身以为能回答上来个 70% 左右,他最终告诉我,今天的表现能打个七八分吧(满分十分)。而后他就去跟他的 leader 沟通了,回来也没直接拒绝我,就给了我一些建议,要对项目总体的把控多一些,项目的思考,横向多去了解,跟你配合的同窗(rd ?)作了哪些工做,还说不过也不着急,毕竟你还年轻。黑人问号脸。
本身的确没有去带整个项目的经历,更多的是我的负责一个模块,虽然对其余人的工做也有了解,技术上的架构也略知一二,不过仍是日常的思惟有局限性吧,对总体的思考太少,不过我以为这虽然是从此发展的方向,可是目前仍是专精某些点,纵向多作一些深刻工做吧。
这个图片不定宽高,怎么实如今盒子内垂直水平居中。
三面是一个技术总监,感受人挺不错的。
规律是这样的:
A B C D ... Z AA AB AC ... AZ BA BB ... CA ... ZA ... ZZ AAA AAB ... 对应: 1 2 3 4 ... 26 27
作一个程序,让输入一个数字,输出具体的值。好比输入 27,输出 AA。这个问题我也描述不太清,其实就是一个相似进制转化的问题。
第一面特别细,以前不多问到的 html,css,还有 jQuery,都问了。这些地方仍是多少能记着一些的,能回答个差很少。并无问你项目中使用的框架,可能关注的点不一样,他们更关注基础吧。二面其实就关注性能优化比较多了,还问了不少学习,分享方面的,估计是想看你是否是热爱学习啊,学习方法,喜欢分享的话能给团队带来新鲜度,大部分团队都是有每周的分享的。他问的问题我都是比较喜欢的,开放性的话题更多一些,你能更好的展示本身。三面问了一些基础的计算机问题,这些是我不擅长的,不过大概说了一下思路,并用 js 去实现。还有不少就是面试常问的问题啦,面试前必定要考虑,作准备。好比说作过最酷的一件事,不管是什么事,只要你本身以为酷就好了,个性面试官。总结下来就是,对这个部门的面试感受,以为不错,进去作的工做是移动端,这也是我以前不多作的,也不用什么 react。这个部门是一个新成立的,团队也是从 0 开始,这种团队也有好处也有坏处,好处是你们都是新人,项目也是全新的,适合你发挥。很差处就是太新了,加班是确定的,压力也会大一些,你长时间都会处于业务中。
硬广。咱们团队在招高级前端开发,大部门是平台技术部下的平台前端,咱们负责的方向是专快司乘运营等大型管理系统,会用 React 是硬性条件,期待有 node 开发经验,基础好,爱学习是基本,要有积极主动的推进能力。另外,不喜欢作 pc,不用 react 的,或者有其余喜欢的部门,也能够推荐。先发邮件带简历联系我吧。
邮箱:sunyongjian0108@gmail.com