小米一面
- 自我介绍
- 谈项目,遇到什么问题,怎么解决的
- vue和jq的区别是什么
- es6 map源码
- 归并排序
- 闭包的概念和作用
- cookie、sessionStorage、LocalStorage的区别
- http请求头哪个部分有cookie信息
- 性能优化
性能优化可以分为页面优化,代码优化
- 页面优化
1. 最最最重要就是减少http请求,了解输入url到页面显示的过程你就会了解,这是多么有效。
2. 设置http缓存
3. 资源的合并和压缩
4. 雪碧图 懒加载 瀑布流
5. script放在底部
- 代码优化
6. 防抖节流
7. ssr
8. 减少重绘和重排
9. 减少沿作用域链的查找,设置变量保存即可
10. 使用文档碎片 fragment
百度一面
- b和strong的区别
- 语义化的作用
- this指向
- js继承的设计思想
- flex布局
- 闭包的概念和作用
- 堆排序
- 反转链表
- 怎么判断链表是否有环
- 二叉树的前中后序遍历
- 前后端通信有哪些基本方式
- 介绍一下ajax并实现
- https的过程 (就是非对称加密生成私钥,私钥进行对称加密传输)
- 七层模型和五层模型
- tcp为什么比udp安全
- 设计模式知道吗?
- 适配器和装饰者模式的区别
- 数据库索引的作用
快手一面
- 判断链表是否有环
- 删除链表倒数第n个
- 判断回文
- 给定数组,统计出现次数
- js数据类型
- Symbol的特点 独一无二
- let和const的区别
- tcp和udp的区别
- http有哪些请求头或响应头以及有哪些状态码
- flex布局以及常用属性
- display有几种方式以及含义
- 不知道宽高怎么水平垂直居中
- table里面的td怎么居中
- display table和table-ceil的区别
- vue的生命周期以及作用
- vue阻止冒泡的简单写法 (修饰符)
- 写vue的数据双向绑定
- 学习前端的途径
快手二面
- 为什么要学习前端,对前端有什么看法
- 看什么书
- html为什么要有这么多类型的标签
- es6 常用api
- pomise的作用及其原理
- 归并排序
- Vue和Zepto的区别
- 是否写过后端接口
- 是否写过webpack的和chorme插件
- webpack的loader和plugin的区别
- 是否用过git
- https详细过程
- 服务端返回的证书,客户端怎么验证有效
快手三面
- 自我介绍
- 反转数字(
- (牛客网视频面)在下面聊天框中输入一些东西,直到看见,这过程发生了什么
- 那我输入这些发送出去,直到你看到,网络中发生了什么过程
- 最后问了一个贪吃蛇是如何具体实现的
- 反问
快手hr面
- 介绍自己
- 对工作城市是否有选择
- 项目的背景,扮演角色,负责的模块,收获
- 一二三面的优点和缺点
- 缺点该怎么取弥补
- 应聘快手岗位的优势和劣势在哪
- 学习或生活中最骄傲的一件事
- 未来三到五年的规划
- 为什么不考研
- 是否有实习
同花顺一面
- 介绍自己
- cookie特点
- vue特点
- vue源码
- http状态码
- 如果给一个指针,顺时针旋转一圈的动画如何实现
- 是否了解单页面应用
- 如何判断引入的js文件是否加载完 (complete)
- 为什么是三次握手和四次挥手
- 挥手为什么要有两个报文时间
- vue页面所有可点击的都需要发送请求,怎么设计
- https和http区别
- 双向绑定原理
- diff算法
- 虚拟dom如何转化为dom
- 事件轮询
- proxy的缺点
同花顺二面及hr面
- 风车动画
- vue和react区别
- 筛选get请求url的key,value
- …
时间线太长有点忘记了
金山WPS一面
- 是否搭过vue的脚手架
- 有哪些配置文件
- webpack有哪些配置文件
- loader的作用
- vue路由的实现原理
- 双向绑定的原理
- session会话的过程
- localStorage自定义失效
- cookie特点
- http有哪些请求头和响应头
- http过程
- 如何自定义一个上传按钮
格家网络一面
- 判断链表是否有环
- 最长不重复字串
- 知道哪些数据结构以及之间的区别
- 输入url发生的过程
- get和post的区别
- cookie的session的区别
- vue的特点
- vue源码
- 闭包特点和作用
- 设计模式
- https和http的区别
- ajax的原理
- 跨域解决办法及原理
- 首页白屏优化(性能优化)
- . …
格家网络二面
- 滑动窗口概念
- 拥塞控制概念
- 手写单例模式
- 各种排序算法以及时间复杂度
- 数组链表区别
- vue源码
- 树的广度遍历
- 36马,6跑道,最少次数找出最快3匹马
解析戳这里
字节一二三面
面完时间太久,忘记了顺序,一起放在这里吧
- 最长不重复子串
- 两数之和
- top K问题
- 斐波那契 (优化)
- 二叉树还原
- promise封装ajax
- 实现EventEmitter
- new原理
- bind源码
- vue2和vue3的区别
- Object.defineProperty为什么监听不了数组
- 介绍Proxy
- requestAnimationFrame 为什么是16ms
- 浏览器缓存
- cors
- 什么是cdn
- EventLoop
- 三次握手四次挥手
- 304的流程
- 观察者和发布订阅的区别
- 进程线程
- 虚拟内存
- 设计一个搜索框,可复用性,考虑解耦(返回的数据格式不一样)怎么处理
途虎养车一二面
二面大部分时间都在聊项目和自己的demo,以及对其的一些优化难点
- 还原二叉树
- promise.all源码
- express和koa区别
- webpack和gulp区别,以及webpack的一些用法
- less和scss的区别
- 移动端响应式的几种方式以及原理
顺丰科技一二面
- Array<object> 去重
- flex
- 闭包
- 堆和栈的区别
- 为什么要有堆存储
- 异步加载的几种方式
- 怎么判断css加载完成和js加载完成
- https的特点
- vue和react区别
- 项目的难点以及解决
- 未来规划
总结
思来想去不知道有什么总结的,就说几个重要的点吧。
-
关于公司
- 从面试题就可以观看出一个公司是否有必要,值得去
- 前端不考算法和数据结构以及网络知识的都是在耍流氓
- 敢于问你源码的,肯定不会差
-
关于面试
- 秋招尽可能早!!一定要勇敢的跨出第一步,能投提前批就投提前批,毕竟有两次机会,答主没有抓住提前批机会去感受下氛围,所以只能在秋招中不断面试。
要列出自己特别想要去的公司,放在最后投递
,前面面试一些进不去的大厂和一些能进去的小厂,为心仪公司做铺垫。- 面试完一定要总结,总结,总结!!!
-
关于技能
- 前端基础必须要掌握牢固
- 网络知识必须掌握
- 算法和数据结构必须掌握
- 源码尽可能去看,读源码很痛苦,但提升很大。
- 设计模式也尽可能掌握,毕竟可以减少很多冗余代码,结构层次很清晰也易于阅读
- 剩下的就是找找项目做吧。
尾声
特别要为格家网络打call,面试体验的感觉很好,还提供晚餐,蛋糕水果星巴克,有木有!面试官也炒鸡和蔼,一个字 帅,hr小姐姐是真的漂亮…
可能只有格家是线下面吧,hiahia~~
还有就是,有面北京的okgroup这个公司,疫情无聊就投了在面试,谁知道竟然是个阿里的boss在面我,然后面了1个小时43分钟25秒,boss的态度非常好,能够循序渐进,逐渐把你带入状态,不管是深度和广度都有问到,我觉得是所有面试里面发挥最好的一次,但是因为其他原因没有机会去吧,有机会的小伙伴可以尝试下哦!
秋招的延长线到春招,至此结束。