小前端总结的秋招面筋经验,供大家参考.

最近有时间,决定把之前秋招时的面试经历分享出来,回馈牛客,希望能够帮助到大家

个人情况

  • 学历:双非本科
  • 岗位:前端研发
  • 实习经历:一段

字节跳动

部门:火山

日期: 9月

一面 30min

  • 聊了聊实习期间负责的事情.
  • http不同版本的特点
  • http缓存的原理,问的很细,建议相关的http字段和优先级着重看一看
  • vue2.0和3.0的区别?优势?
  • 双向绑定的原理
  • xss和crsf的区别,如何防范?
  • 算法1
    1. 跳台阶-一步跳1或2个台阶,问跳n阶有多少种方法?
    2. 手写代码多种方法
    3. 问时间复杂度和空间复杂度
  • 算法2
    1.跳台阶-一步跳[1,n]个台阶,问跳n阶有多少种方法?
    2.问时间和空间复杂度

    二面 50min

  • 同样聊了聊实习经历
  • http缓存字段优先级(重要)
  • TCP的拥塞控制
  • 数据库的索引类型
  • css选择器的优先级
  • 如何实现一个屏幕宽度的50%的正方体?
  • 对es6中的Proxy的了解
  • 算法题
    描述: 找出数组arr中n(1 <= n <= arr.length)个数的所有组合,只进行组合不进行排列.
    //例1
    input: arr = [1,2,3],n = 2
    output: [[1,2],[2,3],[1,3]]
    //例2
    input: arr = [1,2,3],n = 3
    output: [[1,2,3]]
    //例3
    input: arr = [a,b,c,d],n = 3
    output:[[a,b,c],[a,b,d],[a,c,d],[b,c,d]]
  • 实现一个发布订阅的类,大家应该都熟吧

    三面 30min

  • 自我介绍,实习期间的事情
  • 实习中有挑战的事情
  • 小程序的原理与H5的区别
  • 小程序的性能优化
  • 浏览器的渲染过程
  • js的继承方式
  • js中的事件循环机制,微任务和宏任务的区别
  • 算法题
    描述 找到二叉树中是否有一条路径相加等于一个target
    //例如
    in:1
      / \
     2   3
    /\  /\
    4 5 6 7,target: 11
    output: true
    解释: 1->3->7 相加等于11
    in: target = 12
    ouput: false
    解释: 无法找到相加和等于12的路径

    hr面 30min

  • 自我介绍,实习经历
  • 实习带给你的成长
  • 为什么不考研
  • 在学校的学习成绩
  • 如何看待加班
  • 聊了聊字节的工作强度,说相比百度肯定节奏快
  • 问了城市的选择啥的

    美团

    日期: 10月

    一面60 min

  • 自我介绍,聊实习经历
  • 算法题
  1. 括号匹配
  2. 将二叉树的所有节点拆散
    //例如
    input:  1
           / \
          2   3
         /\   /\
        4  5 6  7
    output: [1,2,3,4,5,6,7]
  • 写一个节流的函数
  • http的缓存原理
  • 编写vue通用组件的思路?
  • 问项目
  • 介绍node中的express框架
  • 用过axios的拦截器干了什么
  • node中间件的原理
  • 使用过的node中间件
  • http请求和相应的全过程
  • fetch和ajax的使用对比
  • node端和浏览器端的差异分析

二面 40min

  • 自我介绍
  • 问毕业时间以及城市的选择.
  • 问项目
  • websocket和http的对比
  • websocket是如何保证通信可靠? 基于tcp?
  • 如何处理网络中的错误请求?
  • 浏览器的缓存的使用
  • localStorage和sessionStorage的对比
  • 项目中如何保持浏览器端和服务端的通信状态?
  • cookie和token的对比
  • cookie的安全性如何保障?
  • token存哪里比较合适?
  • 最后一道简单题目,合并两个有序数组并去重
    可以使用多种方法解决
    input: arr1 = [0,1,4,5,7,7,9],arr2 = [0,2,3,4,7,9]
    output:[0,1,2,3,4,5,7,9]

hr面 25min

  • 自我介绍
  • 实习经历
  • 实习中扮演的角色
  • 遇到的难题如何解决
  • 实习的收获
  • 为什么不转正
  • 做的事情中有特别想改进的点
  • 如果有多个任务在手,如何高效的处理?
  • 希望去北京还是上海?
  • 如何选择offer?
  • 反问

去哪儿

日期: 10月

  • 自我介绍
  • 实习经历
  • js打印看输出
    1.
      情况一:
      Person.prototype.a = 1;
      function Person() {
      }
      let p1 = new Person();
      Person.prototype = {
          a: 2
      };
      let p2 = new Person();
      console.log(p1.a);//1
      console.log(p2.a);//2
     情况二:
      Person.prototype.a = 1;
      function Person() {
      }
      let p1 = new Person();
      Person.prototype.a = 2;
      let p2 = new Person();
      console.log(p1.a);//2
      console.log(p2.a);//2
    2.
      Person.b = 'b';
      Person.prototype.a = 'a';
      function Person() {
      }
      let p1 = new Person();
      console.log(p1.a);//a
      console.log(p1.b);//undefined
  • 实现对一个接口进行请求
    1.每隔1000ms请求一次
    2.当res的data返回competed字段为true的时候停止.
    function apiIntervalCall(url) {
          const timer = null,data = [];
          return new Promise((resolve,reject)=>{
              timer = setInterval(()=>{
                  data.push(res.data);
                  axios.get(url).then((res)=>{
                      if(res.data.competed === true) {
                          resolve(data);
                          clearInterval(timer);
                      }
                  },err=>{
                      reject(err);
                  })
              },1000)
          });
      } 
  • 算法
    描述 有序数组中插入一个数字,使得数组任然有序.
    例如
    input: arr = [0,0,1,5,7,8,9], num = 4;
    ouput: arr = [0,0,1,4,5,7,8,9];
  • 实习中遇到的难以解决的问题
  • 自己在项目中承担的角色

本人的分享就到这了,祝愿各位牛友offer多多.

#秋招总结##字节跳动##面试题目#
全部评论
缓存字段的优先级可是 Cache-control > Expires > Etag > Last-modified?
点赞 回复 分享
发布于 2021-12-19 07:48
3个都拿offer嘛
点赞 回复 分享
发布于 2021-12-18 20:00

相关推荐

2025-12-13 21:01
已编辑
百度_meg_前端开发(实习员工)
走到这一步,确实有些意外。先简单说说我的情况,我是双非本,大一那年对后端兴趣特别浓,学了快一年半。但不知为什么越往后学兴趣越淡——大概到分布式那块,比如nacos、卡夫卡这些,感觉越来越吃力。再加上看到师兄师姐在后端方向上的碰壁(现在是大go时代),在和师兄师姐商量后我在今年一月左右转前端了或许是因为有java的基础,对项目开发流程有些概念,前端三件套我过得比较快。之后学了Vue,动手做了自己的博客,这大概也是我转前端的一个重要原因吧,一直很想拥有一个属于自己的个人博客,能按自己的想法去设计、实现,并长期迭代完善,这种成就感真的很棒。之前拿过别人的开源项目来更改&nbsp;但是自己修改的就是一坨,那个时候缺少对前端代码的理解&nbsp;就算借助ai做出来的效果也是一坨就这样到了大二暑假,我觉得该找份实习,丰富一下简历了。我自认不是很有创造力的人,平时少有自发的项目灵感,所以更希望通过实习开阔眼界、提升能力。一开始投递和面试的过程挺煎熬的,或许是因为目标多是中小厂,很多hr已读不回,或是直接砍半薪资问我接不接受。面试时也常觉得像在走流程,问的都是八股文,有的面试官还会边看题边问,甚至有一次十分钟就结束了,好在最后钛动给了我机会。实习期间我学到了很多,虽然也常被拷打,还好ld会帮我收拾烂摊子。从钛动离职回校后,我半推半就地背八股、学新技术,无聊时就刷里扣、看看牛客和biss。原本以为双非bg很会被hr速度筛掉所以就尝试性的投了纷享销客和百度的日常实习,没想到最后两家都oc了,雷姆了家人们,双非鼠鼠居然圆了大厂梦yysy,这一路其实冒了不小的风险。毕竟学了那么久的后端,大学四年时间有限,突然转前端,意味着很多积累的知识可能用不上了。但我很庆幸当时有放下的勇气。无论过去做了什么选择,我都想感谢当时的自己,因为那份勇气,才走到了今天。同时也很感谢这一路师兄师姐的帮忙,师兄帮忙模拟面试,提供资料,师姐教我如何选择岗位,如何处理实习带来的问题马上就要北漂了,对未来是充满了期待也存在着恐惧,南方人头一次去这么远的地方,每天都能看到雪,可以跟实力强劲的同事合作,想想都很兴奋,但是也害怕自己不能胜任这份工作会被压力到爆,但是不管怎么样大家一起互勉吧,呆在舒适区只会停滞不前,压力才能带来成长
牛马人的牛马人生:勇敢追梦
2025年终总结
点赞 评论 收藏
分享
评论
点赞
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务