最近去鹅厂面试了,过了两轮技术面,在经理面时直接跪在了算法上,主要还是自己算法没有好好学、没有好好用吧。我想用这件事情来告诫自己和告诉广大读者:

  1. 想要进大厂,算法是必备;
  2. 不要以为自己现在是前端开发,就不用进修算法;
  3. 算法是功底,业务是能力,能力培养可以很快,功底则需要时间来修炼;

前言

最近有小伙伴在群上和后台私信我说想要点面经,今天给大家整理了一下真实面试问题。

至于笔试题,直接在公众号后台回复「腾讯视频笔试题」即可,整理压缩成图片了。 还有想要系统性学习 JavaScript 的童鞋,直接在公众号后台回复「js学习路线」,也整理成图片方便大家保存阅读了。

第一轮面试

前端小组负责人,问题整理如下:

  • 如何实现图片懒加载;
  • 如何提高图片懒加载的效率;
  • PWA 的原理;
  • 如何写一个 PWA;
  • getBoundingClientRect 方法的弊端;
  • 前端性能优化有哪些;
  • 静态资源加载和更新的策略;
  • CDN 服务器的了解和使用;缓存静态资源的注意事项;
  • history 路由和 hash 路由的区别, 在浏览器有什么影响;
  • http 1.1 与 http 2 的区别;
  • 遇到过什么 Webpack 上的坑;
  • 什么是虚拟 DOM;
  • 为什么虚拟 DOM 的操作比 DOM 更快;
  • 谈一下你对 MVVM 的认识;
  • 谈一下你对 Vue 的认识,以及 Vue 底层实现的机制;

第二轮面试

前端团队负责人,问题整理如下:

  • Webpack 和 Gulp的区别都有哪些, 分别适用于什么样的情形;
  • CDN 服务器的了解和使用;
  • 谈一谈自己做过的项目,分别用到了什么技术;
  • 热更新实现的机制;

第三轮面试

部门经理:

  • 用二分查找实现 indexOf 方法,不允许用递归;

补充:
其实对于 ES6,已经对递归函数做了尾调用优化,是可以用递归来实现的。而 Python 解释器是没有实现尾调用优化的。

写在后面

为啥只给大家列问题不写答案呢?还是想让大家自己去思考,去寻找答案,在实践中去获得经验和真知。背答案是没有用的,面试官几个问题就可以试出你的功底深浅。

然后建议大家要掌握基本的排序和查找算法,并用 js 去实现出来。刚好最近本叔也在更新这一系列算法的文章,感兴趣的童鞋建议关注一下。

最后就是欢迎大家转发分享或者收藏我的文章,但是一定要去消化和吸收。

「知识的价值在于运用,不在于记背。」