-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2017-08 面试总结(at,dm) #32
Comments
厉害,大神问下你,你是如何在两年内,及要上班又要学习,还能学习这么多东西。我觉得自己2年学习太慢了。 |
@jxZhangLi 不是大神,还是菜鸟,毕业两年了,比我厉害的真的是见了太多了。我不是计算机科班出身,去年开始学前端,并从事前端,就是基础不如别人才要多学习啊。也没有什么特别的学习计划,不会不懂的太多,去年就是工作什么不会就学什么。今年是一般一段时间内都有一个比较想研究的点,比如说中间件思想,就找资料从各个方面(来源,应用)去弄清楚。就是不要孤立的去学习吧,感觉知识都是相同的,可以联系到好多知识点。最近受大神启发,他教我学习的时候要建立自己的知识体系,有空就去补充。还有就是结合应用场景,不同的场景处理方式不同,要注意总结。工作中学习,比如我去年去用 react-redux 的时候,对它这种写法很不适应,就去看 redux 的源码,并去学习函数式编程,虽然我现在还没学明白 fp,就慢慢学呗,闲暇时间。 |
题主写的不错,能够短时间有这么多前端知识的基础令人敬佩,建议可以多积累一些计算机基础知识,相信会有更大的进步,加油。 |
很赞,加油! |
@happylindz 对。从事这一行,基础决定了自己的上限。自己还是需要继续加油的。。 |
数组的构造函数上提供了什么方法? 应该是 |
@brickspert 对,不应该说构造函数,看我的回答是原型上的方法,有点矛盾了。感谢指出 |
很厉害 佩服 |
楼主我想一下,你是怎么巩固旧知识,因为我也看了很多的基础知识,能理解,但是就是记不牢固,总是会忘了一点,请赐教 |
@jumpDuckEgg 首先,我日常没有巩固工作中用不到的“旧”知识,但是一些重要的东西是比较印象深刻的。比如 HTML 常用标签的一些特点;css 常用选择器、权重以及 css3 动画等常用特性;js 的闭包、作用域、原型链等;http 协议的一些原理、报文、缓存方案;常见编程思想和设计模式。这些都应该是我们能按照自己的语言阐述清楚的,如果这些类似的不牢固,就需要反复的应用加深印象、理解。另外,有一些随着工作场景走的,比如 react 的各种特性,我可能这两年很熟悉,但是下去几年谁知道用什么开发,说不定过两年 react 我就忘了。还比如 es6 的各种新特性,各种方法,肯定不可能都记住,能记住常用的即可。像webpack 的配置,虽然目前我用的比较多,但也经常忘记某些配置的含义,比如 source-map 的区别,一些 plugins 的 options,这种跟工具的配置复杂度相关,没办法,我们忘了就查一下文档就好了。 但是!!! 最重要的是,如果你要跳槽。。。面试常问的,你又没掌握好的,当然要面试前好好复习一下啦,不然怎么应对面试官,怎么显得自己基础好,怎么装 x。毕竟面试造火箭,入职拧螺丝~ |
@sunyongjian 我觉得,面试中如果被问到 webpack 某个配置项的意义或者插件的作用,有点太过了。我一般面试关于 webpack 只问 webpack 的工作机制。毕竟,一查就能查到的东西没什么问的必要。 |
@riskers 嗯,我是碰到过问的,我觉得还好吧,比如问一下项目开发如何提高构建速度、开发环境和生产环境的区别等常见的场景,当然不需要特别具体,但起码阐述清楚,能证明你是对此有研究的,而用过一两次,问一个插件的意义当然是可以顺利说出的。不过我觉得这些东西倒不是最主要的,每个团队都有自己的 cli。😆你问的属于更深入了啊,工作机制都了解后,基础的东西肯定不用问了。 |
这个还有什么方法? |
@bigggge 我也没查到,感觉只能通过事件统计 |
请问下作者 腾讯二面的 state 嵌套多层的问题, |
你怕是有什么误解。。 |
@Dcatfly 嗯,感觉说的有问题,待会重新整理一下。 |
引入
最近两周没有什么深入研究,把八月份面试总结发一下吧。
关于面试,引用叶老湿的一句话。你的简历是自己工作的答卷,项目经历是你给面试官出的考纲。所以,我的面试一定是与我的简历、工作经历相关的,一些面试题并不一定适用于任何人,但是你可以从中了解他们考察的点,以及侧重点。基础知识可以查漏补缺。
moka
一轮
用 setTimeout 实现 setInterval,可不必关心返回值的类型。
我听错了条件,我以为要注意返回值的类型必须跟原生的一样,也就是返回一个 number,并可以 clear。无清除定时器功能的马上就写出来了,但是加清除定时器,还有返回值的问题,就费了半天劲... 也没弄明白。面试官比较着急了,跟我沟通的时候,我才知道返回值不一定非要跟原生的一样。
给了一个栗子,结合
pdf.js
的示例代码,找出这个栗子中为什么分辨率很低。主要是看你通过调试去解决问题的能力。然后就各种结合项目各种问呗,如何解决问题的,如何团队协作沟通的。
还给了我一个题,让我回去用 React 实现一个群组的 CheckBox,其实最后看就是 treeselect 的雏形啊。我的实现
二面
答: 它的实现原理,简单的一张图。一个简单的demo引入,并看一些实现。充分表现它的优势,然后跟现有的技术栈是否能结合,快速上手。有什么缺陷。
三四面
就是 hr 和 ceo 了,就是问一些离职原因,跟公司价值观方面的问题了。
总结
无论是一面的 pdf,让我实现一个功能,还是二面的问题,都是偏重于项目实战的。他们想要的是入职就能干活的人,先能负责某块开发任务。并且在独立解决问题,团队分享方面有所表现。
腾讯 (omg)
一面
二面
react 组件的结构,其实是问组件实例对象的结构,问题没理解。我说在 children 里就能看到。他问是吗,是什么样的,你平常应该用过 children 啊,应该知道啊。我推测 children 是数组,因为有 children.map 方法。他又问一定是吗。
这个问题上来就暴露了我对这些细节是没有关注的,而他期望的是,你用 React,连它的实例都没看过,children 可能是一个,可能是多个也不清楚。
那我再问一个特别简单的问题,组件之间的通信,比如父到子,子到父。再说一个兄弟组件怎么通信,嵌套了好多层呢?
嵌套多层的他直接说有好几种方法,你随便说几种吧。我从来木有总结过,整个人有点懵逼,也没有回答好。后来整理了一下 React组件之间的通信
再问一个稍微有难度的,组件的 state 嵌套多层的时候,我要让最里面那个 state 变化,怎么做。我开始没理解这是啥意思,他解释说 state 是
{ a: { b: { c: { d: 1 } } }
这样,你 setState 的时候,怎么改属性 d 的。我说一层一层的找进去,setState 新对象。他又说那几层是可以的,假如说一百层呢,也这样吗?我就懵逼了。他说 react helper里面有个 immutable 的库,就是用来处理这种情况的。
immutable 我是知道的,但是我了解的是通常处理不可变数据的。后来查了一下,应该是这种操作。
你简历上说你看过 redux 的源码,简单说一下吧。
终于认可了我一次,说这个确实看过,能说出来。我有点尴尬了。
你说你读过 《深入浅出 nodejs》,那你在项目中用过 node 吗。
移动端做过吗,适配问题。750px 的设计稿,你怎么做适配,给几种方案。
rem的原理是什么。这个答的也不好
然后就是让我问了一些问题,还跟我说你工作才一两年,你要的这个薪资肯定给不到,腾讯卡工作年限很严格,评级方面。最后就是现在不会直接给你面试结果,他们会横向比较几个候选人。
总结
腾讯面试的感觉就是,没有那么正式,都是部门的技术直接联系的你,然后二面就是部门负责人了,决定了是否入职。二面给我的感觉就是,他从 React 入手问一些基础的问题(一些需要留心注意的)。如果没有注意这些点,没有总结,或者看过类似的总结文章,是很难有条理的回答出来的。其实我不太喜欢他这种,“我觉得很简单... 你就应该会的” 的方式。但是这次我发现了自己的一个问题,就是面试的时候爱说一些了解的名词,但是实际没用过,恰好这个面试官都比较深入了解,也比较反感,他认为你这是 “不懂装懂”。所以面大公司,不会的还是尽量要说不会,不要犯了面小公司的错误。自己也确实没有做到注意总结,了解也确实比较浅显,为自己以后的工作学习敲响警钟。
阿里 (天猫)
一面
二面
总结
让我自己去聊项目,去考察我的组织、表达能力,以及沟通能力。而且这也最大程度上能了解到,关于这个项目,你自己思考了多少,主导程度。然后考察主要使用的技术栈,了解的深度如何。然后就是他们业务常用的点。刚面完,自己感觉其实还可以,因为都能回答出来,但是可能深度还不够吧。天猫的要求还是比较高的,而且面试官是从杭州过来专门面试的,也有很多候选人同时面试,只能说明自己在这里面还不够出色,不能脱颖而出。
滴滴
一面
function fun() {}
的原型指向哪里 ?Function.prototype
。二面
Object.prototype.toString.call()
吧。他说,怎么没有清定时器。我说节流函数分两种的吧,举个例子,我这个是按钮点击后,500ms 后的点击才会执行。还有一种是两个点击间隔 500ms 之内,只执行一次,防止连续快速点击。后面的没写,大概是这样
什么是科里化,怎么实现一个 curry。curry 利用了什么特性,他说是其实就是闭包
设计模式了解吗?说一下观察者,我说我简单写一个实现吧。就写了一下。
react 的生命周期介绍一下
现在的薪资
你有什么问题
我问了一个很扯的问题,我能给团队来带什么?面试官说,不能说带来什么吧。一些本来就存在的问题,很难说加入一个人就带来质的改变什么的。最主要的还是能够独当一面吧,能够负责一个模块。
三面
总结
来滴滴面试的时候,很自信,所以自我感觉良好。一面是特别注重基础,各个知识点的问答,想起什么来问什么。看你对基础的掌握情况吧。二面我感觉更多的在看你的情商如何了,当然我的情商不是很高,面试官最后也说了,如果我更 open 一些,会更好。说我的简历上也能看出自己尝试了很多东西,可以去突破一下。当然也问了一些技术的问题。三面是团队的前端负责人,从价值观,个人的成长规划,解决问题的能力去考察,也了解了一下期望薪资。最后的问题就是看有没有共同的爱好吧...
相对 tmall,tx 来说,didi 考察基础,但是又没那么深入,主要是对应聘者的级别要求不一样吧。tmall 的社招不仅是看你干活能力,更多的是你会不会去 push 一些东西,其实就找亮点。
腾讯 (兴趣阅读)
只有一面
各种项目各种问,问的特别细,每一个地方的实现,问你的思考 🤔,以及怎么做规划排期,怎么去处理 bug 等等。
这块就平常自己项目中,做的足够细致就行了,有时候你提到一个点,他都会对这个点进行深挖,看你对项目的细节是否足够了解,另外还有项目整体上的了解。
mobx redux 的区别,从简历上挖掘出的点,去看你是否总结。
mobx 我做过简单的总结。
自己做过的前端优化。经典的面试题,回答的点还是很多的,从 web 来说,从[浏览器] 发起一个 [请求],服务器[返回],[页面渲染],[css渲染],都有的说,我也有简单的总结
react 和 vue 有什么区别啊,特别注重考察个人的总结;
对前端安全的认识
劫持遇到过吗,主要有什么。我说了一个 dns 劫持。
webpack都是怎么用的
webpack.dll ? context这个参数是干嘛的,我忘了...
react的性能优化有没有了解过啊,你都是怎么做优化的。
说实话,react 的优化我很少做 - -,通常 react 的 diff-dom 带来的便利很少关注它的性能问题。不过面试我当然不会说这个,就说了几个点,shouldUpdate,pureComponent,immutable 等等的。不过他似乎不是很满意,继续问我有没有更深入的,全面的优化。我就说局限于此了。
问我 angular 用的怎么样,我说项目中没用过。
最后聊了一些他们日常的工作,主要是后台管理,运营去推送阅读等。项目目前是 angular 做的,后期会像 React 转。
总结
自己觉得能回答上来个 70% 左右,他最终告诉我,今天的表现能打个七八分吧(满分十分)。然后他就去跟他的 leader 沟通了,回来也没直接拒绝我,就给了我一些建议,要对项目整体的把控多一些,项目的思考,横向多去了解,跟你配合的同学(rd ?)做了哪些工作,还说不过也不着急,毕竟你还年轻。黑人问号脸。
自己的确没有去带整个项目的经历,更多的是个人负责一个模块,虽然对其他人的工作也有了解,技术上的架构也略知一二,不过还是平常的思维有局限性吧,对整体的思考太少,不过我觉得这虽然是今后发展的方向,但是目前还是专精某些点,纵向多做一些深入工作吧。
美团 (商超)
一面
二面
三面
规律是这样的:
做一个程序,让输入一个数字,输出具体的值。这个问题我也描述不太清,其实就是一个类似进制转化的问题。
'192.168.0.1'把它转化成位数。进制的偏移问题
你觉得自己有什么缺点
你觉得你之前做的一件最酷的事情是什么
你有什么想问的。大概了解了一下美团超市是干嘛的,介绍的时候还问,想不想做我们的这个商超,感兴趣吗。当然说感兴趣
总结
第一面特别细,之前很少问到的 html,css,还有 jQuery,都问了。这些地方还是多少能记着一些的,能回答个差不多。并没有问你项目中使用的框架,可能关注的点不同,他们更关注基础吧。二面其实就关注性能优化比较多了,还问了很多学习,分享方面的,估计是想看你是不是热爱学习啊,学习方法,喜欢分享的话能给团队带来新鲜度,大部分团队都是有每周的分享的。他问的问题我都是比较喜欢的,开放性的话题更多一些,你能更好的展现自己。三面问了一些基础的计算机问题,这些是我不擅长的,不过大概说了一下思路,并用 js 去实现。还有很多就是面试常问的问题啦,面试前一定要考虑,做准备。比如说做过最酷的一件事,无论是什么事,只要你自己觉得酷就行了,个性面试官。总结下来就是,对这个部门的面试感觉,觉得不错,进去做的工作是移动端,这也是我之前很少做的,也不用什么 react。这个部门是一个新成立的,团队也是从 0 开始,这种团队也有好处也有坏处,好处是大家都是新人,项目也是全新的,适合你发挥。不好处就是太新了,加班是肯定的,压力也会大一些,你长时间都会处于业务中。
The text was updated successfully, but these errors were encountered: