系列如下:觉得有用要点赞!✨
前言
整理从 3 月初开始投递的职位以及面经。这一篇是纯面经,对应的知识点在下一学习篇中均有噢。
其实在此之间 1月、2月均有一直投递,只不过投递的时机不对,在期间并无合适的实习生机会反馈回来。
以下是投递后有信息回复于我的职位,大概约占 1/3。所以说投递的心态也是挺重要的呀(鹅鹅鹅🦢)
日期
按时间顺序记录自己的真实面经。
三月
四月
综上总结一下吧,本人也不是传说中的 offer 收割机,也是一路上积累磕磕碰碰过来的鹅鹅鹅鹅
所以说挂的也是很多很多,反正激励一下自己,愈有勇气就愈上进。
虽然不是 offer 收割机,但!是战斗机!🐔
- 简历被拒
- 字节 4 次(不知道是不是上次暑期那一次的缘故)
- 虎牙 1 次
- 快手 1 次
- 面试挂
- 字节 1 次(去年暑期)
- 网易 3 次
- 腾讯 3 次
- 阿里 1 次
- 还在流程
- CVTE
- 富途
- 闪聚
- offer
- 阿里
- 暗物智能
面经
偶尔因一天有几次面试,所以对应几次的视频面,没有记录到,实在是太久了。电话面的都记录整理啦!像视频面的,个人当时是注重记录自己有些模糊的知识点,所以实际上提得问题只多不少。
以上都是前端实习生岗位的面试
- 自我介绍是必须的,就不写上去惹。
字节
这里这里这里!
腾讯
【PCG】(挂)
[被捞](挂)
[被捞](挂)
腾讯视频一面
JS
- Promise
- 实现 promise.all() 你该怎么实现
网络
- 浏览器如何缓存文件(如 JS/Css)
- Https 的连接步骤
- Https 的 SSL 加密算法是对称还是非对称
- 为什么会出现对称或非对称的情况
- CDN 的原理
- 本地是如何找到最近的 CDN 上
- cros 为什么可以进行跨域
- token 为什么可以防范 csrf 攻击
- 如果 token 的算法泄漏了,token 还有用吗
- 为什么有 Last-Modified 还出现 ETag
浏览器
- 浏览器事件循环和 JS 事件循环有什么不同
- Node.js 的事件循环
工程化
- webpack 的热更新的原理
- 浏览器是如何知道 dom 热更新了
- TypeScript 和 JS 的区别,优势
- TypeScript 的 type 和 interface 的区别
项目
- vue 有一个单页面加载得特别慢怎么优化
- 讲讲你对 vite 的了解吧
- 项目中遇到的困难问题,你如何解决
- 微信小程序的原理
PCG 电话一面
项目
CSS
- 实现垂直居中
- transform 中的属性
- 媒体查询
JS
- 闭包
- JS 垃圾回收机制
- 闭包如果放在一个对象中,也可以避免被标记回收,为啥用那么绕来实现闭包。
- 闭包除了直接返回一个函数,是有什么其他的逻辑呢?
- 用原型来实现两个构造函数的继承(super 类、和 son 子类,son 来继承 super 的属性和方法)
- 构造函数里有 this 嘛?this 指向哪里?this 里有 prototype 吗?
- 在 son 类中 this 是对象还是函数?
- 继承还有哪一些方式?
- 工厂函数继承介绍一下?
- ES6 更简单来实现继承?
- class 中的 super 如何指定你的父类?
- var 为什么可以重复声明?
- if 内外可以声明同一个 let 变量吗?
- 一个普通函数加 async 会有什么变化?
- 如果这个普通函数返回就是 promise,加 async 还有什么变化呢?
网络
- crsf 如何拿到 cookie 呢?(A、B网站是不同域限制的)
- 如果拿到 http 请求头的 cookie 呢?
生活
- 有看什么技术的书籍呢?
- 是如何学习前端呢?
腾讯视频一面
笔试题
- 实现 wait(time) 方法满足以下需求。
- 请写出以下代码的输出结果顺序。
- 给定一个数字,按以下规则转换为字符串 。
- 给定一个数组 arr,使用堆排序算法,返回其中最大的k个数。
- Tree To String
数据结构
- 数组和链表的关系和区别
- C 语言和 JS 指针的区别
- 二叉树
- 完全平衡二叉树
JS
- JS 垃圾回收机制
- 如何确定它是被标记的
- 对应 new 一个对象,两个变量进行绑定,对象设置为 null,变量会被垃圾回收嘛
- 如果放在 function 中呢
- JS 事件循环
网络
- TCP 和 UDP
- TCP 如何发现丢包了
- TCP 丢包如何进行重发
- TCP 如何确定这个包就是丢了的
- TCP 中间被篡改,如何保证安全
- TCP 发送包 123456,丢了 4,后边 56 需要重新发吗
操作系统
- 进程和线程
- 进程之间的通信
- 管道是什么
- 线程之间的通信
- JS 线程之间的通信
项目&开放题
- 200+api 如何优化
- 项目中运用到的优化
- 为什么要用 axios,如 jsonp/ajax/fetch
- axios 突然断网,是否会重新发送请求
- 加密算法知道哪些
- token 值被盗取是否会影响安全
- 歌曲搜索(大量的数据)
网易
网易都是视频面,有两次时间重复了。赶着下一次,就没有记录到。有两面个人体验感不是很好,大概大多疑问语气,也可能是个人原因,有一点压力。
【网易雷火】3次(挂)
雷火视频一面
项目
一直在问项目
- 技术选型
- 技术难点
- 怎么解决的
- 怎么从零开发
- 开发时间
- 项目的业务流程
- 如何优化
- webpack 配置过什么
其他
- DOM 事件
- 有一个遮罩层,如何点击其他地方消失,点击它不变
- 遮罩层是移动的,故不能计算绝对定位
- 伪类和伪元素介绍一下
- ::after 是伪元素还是伪类
- a标签具体有哪一些伪类
- 如何实现一个JS代码的再次编译
- JS事件循环具体
- CSS 媒体查询
- 媒体查询的具体应用场景
- 设计模式,并具体介绍
雷火视频一面
项目与上述的差不多
网络
- TCP 和 UDP
- websocket 介绍一下
- crsf 防范介绍一下
- token 的作用
- 浏览器缓存 localStore、sessionStore、cookie 的区别
- Http 的缓存
- get 和 post 的区别
- options 是什么?有什么用
Vue
- 首屏优化
- webpack 配置
- 双向绑定
- 声明一个 data 变量到更新的具体原理过程
- watch 和 computed
数据结构
JS
CSS
这一些忘记了,问得很多,比较常规。
CVTE
CVTE (综合面)- 流程好慢
不得不说 CVTE 可能投递的人多和面试官都太忙了,流程进度很慢。官网的流程走到了综合面,也不知道综合面往后是不是 hr 面。
笔试
忘了,太久了。
CVTE 视频一面
面试官是一位很和蔼的大叔,对!大叔。全程进程感觉很赶很赶,但是很有耐心,给你时间仔细思考。总体的体验感觉除了赶,其他都挺好的。
没有自我介绍和项目,直接开始。
问题
- 块级和行级元素
- 两个块级行内元素为什么会有空隙
- CSS 的优化问题
- CSS3 动画为什么可以优化
- 为什么 CSS3 动画可以避免阻塞渲染DOM
- CSS 媒体查询
- 图片懒加载的具体实现过程
- 如何计算屏幕高度
- 如何计算元素的高度
- 你说到了 CDN,具体原理是什么,什么优势
- CDN除了物理距离上的优势,还有其他什么优势吗
- 防抖和节流
- 滚屏滑动是使用哪个
- 手写一个防抖
- 闭包
- 介绍一下垃圾回收机制
- 为什么不用计数清除法
- 介绍一下 ES6
- 介绍一下 this
- 介绍一下箭头函数以及区别
- 说一下 TCP
- TCP 的四次挥手
- TCP 四次挥手最后一次挥手的最大两个报文存在周期是怎么产生的
暗物智能
很感谢暗物智能,偶然间投的一家。最后拿到了 offer,个人觉得对应的 hr 和面试官小哥哥都很积极和亲切。
一面电话面
一面和其他的都差不多,说一下不太一样的吧。
- 介绍一下 Vue3
- 代理和劫持的区别
- Vue3 和 Vue2 的区别(可以从社区、技术、改进、兼容方面)
- 了解过 Canvas 嘛
- Canvas 实现一个正弦函数,有什么思路
- 了解过你博客上左下角的小动画嘛
- 为什么会跟随鼠标动
- 介绍一下 vite
- vite 和 webpack 的区别
二面视频面
小哥哥很温柔,太可爱了鹅鹅鹅鹅
一面的问题关于 Vue 的都有问到
Vue
- Vue 的双向绑定原理
- Vue 有哪一些设计原型
- Vue 的优化
- 介绍一下 Object.defineProperty()
JS
- 第三个参数的具体值
- 拷贝
- 深层拷贝
- JSON 序列化实现深拷贝的缺陷
- 数组打平操作
- Array.flat() 的参数
网络
- 说一下 IOS 五层模式
- 应用层有啥
- 网络层有啥
- 传输层有啥
- 介绍一下 TCP
- TCP 和 UDP 的区别
- 它们分别使用的场景
- TCP 是如何实现可靠性的
- TCP 的阻塞优化算法
- TCP 的三次握手具体流程
- 知道对应的信号量和具体的内容嘛
项目
- 项目难点
- 如何解决
- 角色定位
生活
- 如何学习
- 以后的技术规划
阿里
【口碑】电话一面(挂)
【特价】(意向书)
【特价】电话一面
项目
项目聊得特别特别多,也特别具体。主要是项目。
CSS
- 替换元素和非替换元素
- CSS的布局方式
- 响应式布局
- 媒体查询
- 如何通过CSS3媒体查询来获取当前窗口的大小
- CSS的预处理,如 less、sass 等
JS
- Symbol 类型是什么,及其作用
- 如何避免 js 原生方法覆盖
- JS 原型
- 修改继承过来实例对象的原型上的方法会不会被覆盖掉
- 函数内部该如何调用函数的参数(引用传递)
网络
- TCP 和 UDP 区别
- TCP 如何保证数据的可靠性
- Cache-control 及其具体值
- Https 的握手过程
工程化
- webpack的原理是啥,具体做了啥
- loader和plugin区别
生活
- 你的未来技术规划
- 如何学习前端
【特价】电话二面
更多的是项目,一直在问项目并且深挖技术点和我的实现业务逻辑。这一面项目真的非常重要,还有生活以及规划。
经历
- 年级排名
- 学得最好的几门课
- 数据结构算法这门课怎么样
- leetcode 有了解和刷过嘛(几题?难度?)
- 有无论文?
- 带班班主任的经历?
- 这段经历的收获?
- 做得最大的贡献?
- 对你个人的思考和反思是什么?
项目
- 项目的难点?
- 其他的技术挑战?
- 为什么接二百多个接口比较厉害?
- 整个做前端的时间有多久?
- egg 用了多久?
- 为什么服务端有 java 还有 egg?
- 为什么不用 java 来写要用 egg?
- 没有一直清晰的架构的概念(对,这一方面真的很需要去大型项目学习!)
- egg 主要完成什么呢?
- 架构有个原则:职责边界要分清楚(高内聚,低耦合)
- 确实,一语就点中当时一开始想这样开发时,我的担忧。
生活
- 通过什么方式学习和提升前端学习?
- 看过东西有做过哪些实践呢?
- 你觉得你能将前端作为自己一种热爱的事业嘛?
- 有在 github 上看项目吗?
- 有什么兴趣爱好呢?
- 王者荣耀到什么级别?鹅鹅鹅鹅鹅鹅
【特价】视频三面
是一位看起来很和蔼的叔叔,真的很温柔!
- 为什么选择你的学校和专业
- 专业课程及排名
- 为什么参加那么多活动,收获是什么
- 你是怎么理解繁华这个概念
- 你是怎么跟着你的导师进入实验室
- 实验室项目的角色定位
- 较于你同届的情况
- 如何学习前端
- 有运用过最近主流的前端新技术吗
- 在深圳浏览器输入 taobao.com 的整个实现过程
- 如何通过 IP 就能连通到杭州这个服务器
- 有学习过 java 吗
【特价】hr电话四面
hr 的逻辑真的很棒,很多地方我说得抽象模糊,一下就抓到了我的点!这一面的问题都很寻常,其余的小问题都个人针对性太强了,就不做记录了。
反问
简单说一下我都问过什么问题叭,这个真的很重要,能从不同的面试官以他们的角度发现自己可以完善的地方,反问也是一个最后双向的试探。而且可以很明显知道自己的进步,像一开始的反问,会说要加强基础。后边好几次面试官都说,都挺好的,然后给了一些建议和规划,这些真的很宝贵,再自己思考一下来整合适合自己的道路。
这一些问题,根据个人情况,思考具体在哪一面或环节来提问。
- 个人本次面试的评价及改进
- 技术选型
- 除了技术方面,有哪些方面值得注意改进
- 如何利用自己项目经验和团队沟通能力的优势
- 我主要负责什么,如何突破自己
- 请问一下您,目前的前端小组规模。
- 这个岗位的具体要求和职责是什么?应具备哪些能力和素质?
- 实习生的培养方案
- 日常生活的一天情况
- 我该如何构建自己的前端体系树
- 如果我遇到无法解决的难题
- 如果我犯了错误
- 对我技术规划的意见
后言
记录近期一个半月的面经,与各位共勉。但我学习和准备其实从去年意识到瓶颈便开始了,只是近期越来越清楚该往哪个方向努力。
其实还有其他的面试,只不过个人觉得不具备代表性,也就不记录了。真的就是越不清楚自己的目标,越要去争取,就越知道自己的目标是什么了,逼迫自己一把叭!
下一篇总结对应的学习篇,关于面经所有包含的内容也有噢。觉得有用要点赞!✨
系列如下:觉得有用要点赞!✨