分享一波春招实习面经[腾讯阿里网易前端岗]~
其实本来没打算参加春招的,因为在现在的公司呆着感觉不错,但是看到同学都在投简历,我也试了一波投了三家,面试毫无准备,基本裸奔,凭借狗屎运拿到阿里offer, 在此回馈牛客~
腾讯SNG一面
- 介绍项目
- Diff算法, setState过程
- 树的深搜与广搜
- 用户量大了,会有什么问题,怎么解决(安全,内存泄漏,性能)?
- 输入一个url到看到页面经历了怎样的过程?
- 缓存机制,如何缓存图片
- 客户端渲染过程,重绘重排,如何优化
- localStorage使用场景
- 封装组件和接口
- 封装socket
- ServiceWorker API
腾讯SNG二面
- Web性能优化方法
- 是否了解后端
- 浏览器链接限制如何解决
- 网络安全
-
非递归遍历二叉树
网易一面:
- React生命周期
- CSS有哪些选择器,直接兄弟选择器是什么?
- CSS有哪些可继承属性?
- 有哪些性能优化方法?
- HTTP请求的请求头和请求体
- 状态码
- 用过哪些git命令,git rebase 和 git merge的区别
- 用typeof object = object为什么不靠谱?应该如何做?
- 设计求和函数sum使sum(a,b)和sum(a)(b)都能执行
- 1+’2’ +’2’; -1 + ‘2’ + +2等这些输出什么?
- 立即执行函数的输出
- settimeout输出
- cookie和session
阿里三面(电话):
- 介绍项目,设计思路
- 遇到问题如何解决?
- 明显降低调试成本的方法?
- 如何与后端合作?
- 遵循规范?
- 学习前端的经历?
- 为什么对前端兴趣多一点?
- 开发的痛点?
- 业余喜欢干什么?
- 最有成就感的项目?
- 有没有遇到什么兼容性问题?
阿里二面(视频):
- 介绍项目,项目功能
- 面试官比较感兴趣代码高亮提示和快捷键系统,让我说说怎么做的
- 代码提示用到了promise解决异步问题,用socket优化速度,socket的稳定性(心跳检测),如何减少请求次数(前端一次取到所有结果集然后在结果集中筛选),结果集太大怎么办(没答上来)
- 键盘事件,编辑模式和命令模式的切换,给div加tabIndex,tabIndex的作用,各种取值的含义,focus()函数的参数及意义等
- 还有什么别的难点,怎么解决的?(说了state的设计等)
- TCP连接的三次握手
- HTTP1.1和HTTP2.0的区别
- 为什么要用redux, connect函数的原理
- XSS和CRSF攻击是什么?如何防范?
阿里一面(电话):
- 以项目为重点自我介绍
- 介绍一下编辑器项目,有什么难点,如何解决的
- 上线之后又什么反馈
- 项目架构(结构)
- 一个图片垂直居中,水平居中的方法
- CSS选择器优先级
- CSS选择器性能优化
- CSS3平移
- CSS隐藏元素的方法
- 跨域:做项目时有遇到跨域吗(有,但是后端用ngix转发了),那知道什么跨域方法(JSONP),介绍一下,知道CORS么
- Box-sizing作用
- 清除浮动的方法&BFC
- absolute相对什么定位
- 有哪些脱离文档流的方法
- HTTP与socket的区别,为什么用socket更快
- 浏览器渲染过程,如何优化提高加载速度
- ES6用了哪些明显提升工作效率的特性
- React 为什么要加key
- 定义函数的两种方式,又什么区别,为什么
- 判断Array的方法
- Js数组对应的栈方法和队列方法
- 编程题:实现深拷贝(不考虑函数和原型)
自己总结的需要加强地方:
- 计算机网络常见面试题(尤其是项目里用到了socket和http)
- 项目的难点总结(可以虚拟一些编织点自己熟悉的知识点进去,翻翻周报和笔记)
- 性能优化方法
- 框架React以及打包工具webpack的经典面试题
- Promise
- 缓存,前端各种缓存方式的区别 cookie,session,localStorage, sessionStorage, IndexDB
- 排序算法, 数据结构里常见的操作
- 操作系统经典面试题
- 自学移动端