半年前端寒冬小厂面试经

都说程序员应该多出去面试,否则不知道本身有多菜,本着我是菜鸡我怕谁的铁头精神,这两天也积极投递简历,寻求面试机会,可是由于经验不足的问题,不少大公司连简历都过不了,只有一些创业公司给了面试机会,不过创业公司问的也挺具表明性的,不敢苟藏,分享出来。css

首先自我介绍一下,我叫XXX,武汉某211小本,18年6月毕业,刚毕业的时候写了三个月的java(Ctrl C + Ctrl V);三个月前,前端基础很薄弱,连引用类型和值类型都傻傻分不清楚,是一个24k如假包换的菜鸡。通过三个月的学习,自我感受长进了很多(或许是错觉),结果面试下来仍是以为,嗯,果真仍是菜鸡。前端

由于是创业公司,就不报公司名字了(反正没人听过),是一家作区块链的。vue

一面:
  1. 一道算法题,大意以下:1由一个1组成(1 = 1),2由一个2或两个1组成(2 = 1 + 1; 2 = 2),3由一个3,3个一,一个1和一个2组成(3 = 3; 3 = 1+1+1; 3=1+2),问n有几种组成方式。(dp,找出dp表达式便可)
  2. 说一下数组去重的方式(这个芽羽大神的博客上讲的很清楚,想了解的能够去看一下,set和O(n^2)复杂度的这两个方法确定不是面试官想听的,排序去重,indexOf,es6等是比较好的答案,为了装逼,我还说了一个前缀树去重)
  3. 你说到前缀树去重,那你讲一下怎么作(装逼成功,想了解前缀树的本身百度去吧,不少资料)
  4. 说一下vue双向绑定的原理(这里从源码层面讲了十多分钟,效果应该还不错)
  5. 平时用过哪些es6的特性(let,const,模板字符串,promise,箭头函数等等)
  6. promise是解决什么的
  7. 若是要你实现一个promise,你该怎么实现(这个由于看过promise的实现方法,也答得不错)
  8. 有了解async,await吗(generator的语法糖,使异步代码表现得像同步)
  9. 那你说说generator呢
  10. 讲一下XSS(对不起,只知道是安全方面的,了解的很少)
  11. 有了解过weex,rn这些吗(没,目前只作过pc端)
  12. node呢(没)
  13. 说说跨域吧(浏览器有个同源策略,巴拉巴拉,解决方案是,后端设置cors,先后端配合jsonp,我的以为最好的方案是修改nginx配置)
  14. 讲一下闭包(这个要讲的东西不少,可以把做用域,做用域链,执行上下文栈讲清楚便可)
  15. 如何实现一个居中布局(老生常谈了)
  16. 各类奇奇怪怪的css,具体题目忘了,反正css答得很差
一面大概面了一个多小时,我觉得挂了,结果让我等一下,因此又苟到了二面:
  1. 讲一下vue数据驱动原理
  2. 讲一下vNode,为何要用vNode,讲一下diff算法
  3. 讲一下let和var的区别
  4. 你刚刚说到暂时性死区,讲一下暂时性死区呢
  5. 箭头函数和普通函数的区别(this?)
  6. 怎么实现promise的all方法
  7. 讲一下浏览器的缓存
  8. js的继承机制
  9. 说一下闭包
  10. 了解过哪些设计模式
  11. 怎么实现一个单例
  12. 平时获取知识的渠道(掘金,github,公众号,微信群?)
  13. 有作过weex,rn这些吗(没有)
  14. 怎么没去试试大厂(由于菜啊)
  15. 前端打包工具备了解吗(webpack只跟着官网配过,没在项目中实操过)
二面大概面了四十多分钟,我觉得要让我走了,结果让我等一下,来了hr,好了,没了。
相关文章
相关标签/搜索