Skip to content

Latest commit

 

History

History
77 lines (63 loc) · 3.68 KB

头条-开发者生态-面经.md

File metadata and controls

77 lines (63 loc) · 3.68 KB

背景

具体什么原因去面的头条,说不清吧,反正就是已拿offer,来分享一下面经。

问题比较多, 而且很多面试题都是跟个人项目相关的,不知道是不是我的错觉,我感觉很重视项目经历,问得很细。项目相关的问题借鉴意义不大,所以这里总结一些与项目无绝对关系的问题,欢迎围观~

另外,我目前还在阿里/腾讯等的流程中,等结束之后,也会做些记录和输出,欢迎大家持续关注~

笔试题

一面:

  1. 执行代码求输出,并说明为什么,严格模式下输出有变化吗,为什么
var a = function () {this.b = 3;}
var c = new a();
a.prototype.b = 9;
var b = 7;
a();

console.log(b);
console.log(c.b);
  1. 给定一个升序整型数组[0,1,2,4,5,7,13,15,16],找出其中连续出现的数字区间,输出为["0->2","4->5","7","13","15->16"]
function summaryRanges(arr){
    //TODO
}
  1. 请实现以下的函数,可以批量请求数据,所有的URL地址在urls参数中,同时可以通过 max 参数控制请求的并发度,当所有请求结束之后,需要执行 callback 回调函数。发请求的函数可以直接使用 fetch 即可
function sendRequest(urls: sring[],max:number,callback:()=>void){
    //TODO
}

二面:

  1. 实现一个字符串反转: 输入:www.toutiao.com.cn 输出:cn.com.toutiao.www

要求: 1.不使用字符串处理函数 2.空间复杂度尽可能小

  1. 不借助变量,交换两个数。
function swap(a, b) {
    //TODO
}
  1. 观察者模式与发布订阅者区别,并写出其模型

与项目无绝对相关的问答题

  1. vue 事件机制是如何实现的 (https://juejin.im/post/59ca5e975188257a8908959b)
  2. vue 的组件通信方式有哪些
  3. react fiber 的实现原理 (https://juejin.im/post/5dadc6045188255a270a0f85#comment)
  4. vue 响应式数据原理(vue2/vue3/依赖收集/发布订阅/watcher消息队列控制/Vue.set实现)
  5. vue 转小程序怎么实现(ast/生命周期对齐/跨平台模块兼容/兼容细节点实现过程)
  6. 性能指标,如何理解TTI,如何统计,与FID有什么区别,如何实现统计,还聊了很多性能的东西
  7. 说说你所了解的安全问题及防护方法
  8. 说说你知道的设计模式,并举个对应的模式例子
  9. 未来规划及学习方法
  10. 你觉得你是怎样拿到京东校招的sp的
  11. 遇到的最大挑战/过去的最大收获分别是什么

感受

头条的面试官很专业,你不会的或者要思考的,会引导你去思考,也不是一棒子打死,有些问题答得不够好直接挂掉那样,会全面地去看待一个人,挺好的。

与项目相关的问题,问了很多很多,基本上着重看我个人在项目中的角色,做过哪些项目设计/性能优化/项目规模/细节点实现/数据对比等等。

另外,我本人的博客,面试官都看过,似乎都知道我学过什么,知道什么,所以很多我博客上有的东西都没问,甚至我引申到过去,都不让说,有种没机会表现的感觉,哈哈

持续学习

最大的一个感受就是,在刚毕业的时候,问的基本都是基础,这种刷题就很好使。目前处于一个近3年经验的阶段,项目问得很多很多,项目真的非常非常重要,有亮点的项目太重要了,能体现你的深度及阅历。建议大家在做项目的时候要好好总结有挑战的点,很好使~

这部分的题目,我会同步到我的每周N题上,欢迎大家来交流答案啊。想刷题的也可以来,嘿嘿,地址如下: https://github.com/LuckyWinty/fe-weekly-questions/issues

PS:点击阅读原文可以直达刷题地址哦~