秋招各公司面试问题总结(亲身经历)

本人是2021届毕业生,去年疫情在家找实习真的是困难重重,好歹最后有一个还不错的结果,去了腾讯微保实习(这里要说一下这个公司是真的超级好,尤其是适合妹子~),不过找实习面试中的问题没有记录。正好今天整理发现了秋招的时候记录了几个公司的面试过程,下面就简单说一下,希望对大家有帮助。

好多问题都是我之前总结的所有我看过的面经贴中的问题,有兴趣的可以看一下点这里!!!

公司一:vivo(南京 offer)

秋招参加的第一个面试就是 vivo提前批,大概六月份就开始了,当时还在实习,还是偷溜出去面试的(小尴尬),记忆中是两轮技术+一轮hr,这次问题没有分具体几面,直接总结下:

  1. 判断一个单向链表是否为循环链表
  • 使用快指针(步长为2)和慢指针(步长为1)
  • 如果快指针指向了null则是单链表
  • 如果快指针和慢指针重合了则是循环链表
  1. 实现事件绑定的几种方法及其区别(这在我上一篇面经帖子中详细说明过了)
  • 行内绑定 onclick="" this指向window
  • 动态绑定 btn.onclick = function(){} this指向当前操作的dom对象
  • 事件监听 addEventListener(eventName,handle,useCapture) 或 attachEvent()
  1. 事件冒泡和事件捕获

  2. js的选择器有哪些

  • 原生js选择器:getElementById()、getElementsByName()、getElementsByTagName()、getElementsByClassName()、querySelector()、querySelectorAll()
  • JQuery选择器:ID、标签、class、*所有元素
  • 层叠选择器
  • 过滤
  1. 异步的实际应用
    比如:ajax请求,可以通过哪些方法实现,有什么区别:回调、事件监听、promise、generator、async/await

  2. 常用的表单控件

  • 表单元素:form
  • 文本/密码: text password
  • 单选/复选:radio checkbox
  • 按钮:submit reset button
  • 隐藏域/文件域:hidden/file
  • 选项框:select>option
  • textarea: 多行文本输入控件
  1. vue双向绑定的原理

  2. 为什么学前端,如何学前端,规划

  3. 为什么要加入vivo

  4. 自身优缺点

vivo其实面试是算比较简单的,感觉只要过了笔试和简历都比较稳了,毕竟招的人也多,可以先拿下来保底~

公司二:贝壳(北京 offer)

贝壳是有上海和北京两个点,但是基本上都在北京,上海好像只有行政部门,我参加的也是提前批,听贝壳hr讲这是不加班的,也不知真假,如果提前批能过贝壳的培养方式好像蛮不错的。当时一面面试官说他待得蛮舒服的,然后针对提前批是有不同的培养的(似乎是的)

这里的面试问题也包括了我在面试之前刷的牛客当时热乎的面经贴(临时抱佛脚)

  1. HTML+CSS
  • 左边固定,右侧自适应
  • html5新特性(屏幕截图)
  • 在一行上等分三个盒子
  • 移动端自适应
  • 设置文字大小为6px
  • css优先级
  • css3新特性
  • flex
  • 水平和垂直居中
  • 清除浮动
  • 重绘和重排
  • 三栏布局多种写法
  1. JS
  • 数据类型
  • const、let和var的区别
  • null和undefined的区别
  • 事件代理
  • 原型链
  • 箭头函数
  • 异步怎么按照一定顺序执行
  • 事件循环
  • 防抖节流
  • 页面刷新
  • 闭包应用及其场景
  • 正则表达式
  • 设计模式
  1. 框架
  • Vue双向绑定以及ES6的proxy;vnode存在哪里
  • 组件通信方式
  • 局部作用域样式:在style标签中设置scope
  • vue-router,history和hash?
  • vue实现一个div拖拽
  • 虚拟dom
  • key的作用
  • 生命周期
  1. http
  • 协商缓存和强制缓存
  • 跨域
  • content-type的类型
  • 浏览器本地存储
  • html执行机制即浏览器加载机制
  • 代码层面和网络层面的性能优化
  • 状态码
  • body的格式
  • base64格式的输入和输出
  1. 搭建工具
  • webpack作用
  • webpack用到了哪些loader和plugins
  • 当css-loader和style-loader冲突怎么解决
  • babel的作用
  • loader的作用和输出
  1. 算法
  • 求树两个节点的最近公共父节点
  • 层次遍历二叉树
  • 找出数组的中间数
  • 求三个数之和
  1. 公司
  • 对贝壳的了解
  • 为什么想来贝壳
  • 选择offer的因素

公司3:滴滴(555)

从这里开始就是纯本人亲身经历的面试问题了,滴滴我当时真的花了好多心思准备的!奈何还是太菜,没过!我参加的依旧是提前批(开始得比较早),面试是那种一天面完的,过了就直接下一面,虽然很残酷但至少不用焦急等结果了。滴滴问的问题也不是说特别难,就是面试官会深究,挖的连亲妈都不认识,好惨的,最终败下了!所以说还是要好好提高自身实力,不要像我一样~

一面 2020.8.5

  1. http和https的区别,引出https请求过程
  2. vue双向绑定原理
  3. defineproperty原理,在es6中可以用什么替代
  4. 继承的几种方式,手写原型链继承
  5. 知道防抖和节流吗,手写一下(情景为输入框中输入完进行搜索)
  6. vue如何监听数组
  7. 实现三角形
  8. webpack创建过程
  9. 小程序原理,为什么可以在微信中渲染出来
  10. 有接触过小程序跨端吗
  11. 了解的设计模式,说一下发布订阅
  12. 什么是闭包,应用场景

二面

我当时也是匆忙学了Vue,懂的比较浅显,没想到全部都是问的这个,所以好好扎实的学好一门框架!

  1. vue双向绑定原理,多个组件使用同一个data属性时怎么监控?在哪一个阶段完成监控
  2. Vue为什么需要虚拟dom(vue双向绑定明明可以对应到具体哪一个节点)
  3. Vuex原理
  4. Vuex和全局变量的区别
  5. webpack实现过程,是怎么完成解析依赖的?
  6. loader和plugin的区别
  7. 有没有使用过node
  8. 入职第一份工作的规划

然后....然后就没有了

中间还面试了一些不是纯互联网的公司,问的问题也不是纯前端的,这里就不记录啦!这个时候其实心里面还是失落的,一直想去上海,可是投的上海的公司都被毙了,就在这时,一位天使小姐姐出现了,当时还是看电影的时候接到了电话,一听是杭州抖音,我都打算拒绝的,可是小姐姐太甜了!我就开始了这段艰苦但是非常值得的面试历程!hr小姐姐一直鼓励我,每场面试给我约时间,然后问我复习好了没有,没有的话帮我推迟一下下,在这里跪谢!说啦,说正经的哈哈哈哈~

公司4:字节-抖音

一面 2020.8.24

  1. 给你一个Dom树节点,找出下面所有的div标签节点
    //树的广度遍历
    function getNodeNum(node) {
     let children;
     let nodeList = [];
     let count = 0;
     nodeList.push(node);
     while(nodeList.length) {
         let curNode = nodeList.shift();
         if(curNode.nodeName === 'div') {
             count++;
         }
         children = curNode.childNodes;
         for(let i=0;i<children.length;i++) {
             nodeList.push(children[i]);
         }
     }
     return count;
    }
  2. 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
    //找到奇数就和前面的偶数依次交换
    function split(arr) {
     for(let i=0;i<arr.length;i++) {
         if(arr[i]%2===1 && i>0) {
             let cur = i;
             for(let j=i-1;i>=0;j--) {
                 [arr[j], arr[cur]] = [arr[cur], arr[j]];
                 i = j;
             }
         }
     }
     return arr;
    }
  3. css:清除浮动,两列布局左边固定右边自适应
  4. rem原理,vh/vw原理及缺点
  5. js:数据类型的判断,new创建实例的过程步骤,跨域,proxy和object.defineProperty的区别,模块化几种方式的区别
  6. Vue:响应式原理,说一下Object.property操作数组有什么问题
  7. 源码:new Vue的过程
  8. 对称加密和非对称加密,https握手过程
  9. 线程和进程的区别

整个面试差不多50min,我以为我挂了,就跟hr小姐姐说谢谢她的照顾,然后她告诉我过了!哈哈哈哈,安心准备二面

二面 2020.8.28

  1. 说一下你的研究生课题,中间碰到的困难,你怎么解决的,收获了什么,聊得比较愉快大概15分钟
  2. 淘宝首页布局题目:flex和非flex(给你一张图让你设计)
  3. 买咖啡的题目,只有5元、10元、20元,找零问题,很简单只需要说一下思路
  4. 中等难度题目:给一个二维坐标,有空位,程序员,产品经理,每个程序员能教会旁边的产品经理写代码,问教会所有的产品经理需要几次,打不到则输出-1
  5. http分层模型以及每层的原理
  6. tcp和udp
  7. 为什么三次握手四次挥手

同样是面完,hr小姐姐直接告诉我过了,面试的时候因为教室突然有老师要用,中途还换了一个地方面试,面试官笑嘻嘻说没事,人真的不错哈哈哈

三面 2020.9.1

这面可能是交叉面?也没问什么问题,而且比较简单,不知道是不是我运气比较好

  1. 问了一点点实习经历,学到了什么,主要负责什么
  2. https怎么保证数据不被纂改,我提到了hash比对,就问了我hash算法是什么
  3. 数组去重的方法,es6和非es6
  4. js继承的方式,优缺点,es6 extends可以继承多个父类吗?

然后就没有啦?当然也可能是当时面试完太紧张,忘记了一些~

hr面 2020.9.2

问的都是一些常温的问题,能不能提前来实习呀,自己优缺点啊之类的(这个hr小姐姐超温柔的)

再次感谢hr小姐姐和面试官们!

总结

我其实觉得自己学的知识比较少,主要就是把重要的基础知识一遍一遍熟悉,然后刷面经总结自己不会的,加上面了很多公司,知道自己哪里不好就补哪里,所以不要因为说一直碰壁就不想面试了,要相信面的越多成长面的,去的公司就越好!
其实每个公司问的问题都是差不多的,可能就算法题出的不太一样,所以我觉得多看一些面经贴是没错的(看了就要去总结,看自己会不会,不要看完就结束了),然后每个公司面试之前都了解一下该公司的文化啊,准备一下应该问面试官的问题,还蛮重要的(偶尔吹吹🌈)。
以上仅个人见解嘻嘻嘻

#面经##滴滴##字节跳动##vivo##前端工程师##实习#
全部评论
膜拜
点赞 回复
分享
发布于 2021-04-09 20:34
小姐姐,请问前端可以怎么准备项目呢,导师不让实习,不知道该怎么找项目做
点赞 回复
分享
发布于 2021-06-17 20:26
百信银行
校招火热招聘中
官网直投
2022届字节跳动提前批启动啦~可以进帖子查看详情哈~https://www.nowcoder.com/discuss/680470
点赞 回复
分享
发布于 2021-07-08 20:16

相关推荐

10 84 评论
分享
牛客网
牛客企业服务