腾讯前端实习面经
折腾了一个星期总算完成了所有面试,目前等通知中,希望能够好运。
一面和二面是电话面试,三面和总监面是到深圳聊的,隔了一周刚完成hr面(电话面试)。
一面(大概1个小时)
项目相关
- 一些项目相关的东西
- echarts 是基于什么开发的?Canvas 和 SVG 两者有什么区别
计算机基础
- 你能介绍一下对于 http 的理解吗?(这里我只是介绍了 http 的用处,没讲细节,然后顺便讲了 http 和 https 的区别)
- http 数据包的结构是怎样的
- http 中如果想要使用缓存需要设置哪些字段
- 服务端如果告诉客户端可以使用缓存会返回什么状态码?服务端错误又是什么状态码?如果是服务端***问题的又是什么状态码?
- GET 和 POST 请求有什么区别
- 浏览器的 cookie 和服务端的 session 有什么区别
- 怎么实现多个网站之间共享登陆状态
- 交换机和路由器有什么区别
- 从广东一个站点访问上海的站点是怎么一个过程
- DNS 的工作原理了解吗
- 从浏览器输入 ‘qq.com’ 到看到这个页面整个过程是怎样的?追问:如果是本地的页面又是怎样的
- 浏览器的回流和重绘了解吗(介绍完我就顺便讲了怎么减少回流和重绘)
- IPV4 的地址有多少位?多少个字节?IPV6 的呢
- 什么是子网掩码
- ARP 协议是什么
- OSI 模型了解吗?每一层你能想到哪些协议?
- 操作系统里面的进程和线程有什么区别?进程之间怎么通信?(坦然承认操作系统这块学得不好)
- 一个完整的数据库查找的语法是怎样的呢
- 什么是数据库的索引?什么时候需要用到索引
- 基本的算法还记得吗
- 快排是怎样实现的
- 什么是二叉树
- 怎么去算一个图的最短路径?比如 Dijkstra 算法,知道是怎么实现的吗
- 对称加密和非对称加密有哪些区别?又有哪些应用
- 常见的 web 攻击方式有哪些?他们具体是怎么攻击的
- sql 注入怎么防范?XSS 怎么防范?CSRF 又怎么防范
前端知识点
- 你了解 VUE 的原理吗?(这里就介绍了下双向数据绑定的原理以及虚拟 dom 的原理)
- VUE 引申出来的生态有哪些?(主要就是问 Vue-router,axios,vuex 这部分的知识)
- 用过哪些前端的打包工具
- webpack 的配置字段有哪些
- 能不能详细介绍一下 Cavans 有哪些方法?有哪些交互的操作?比如如何给里面的一个元素添加交互?
- 如何判断一个变量 a 是否是一个数组
- 什么是闭包?它有什么好处
- 怎么实现继承
- ES6 有哪些新特性
- CSS 中有哪些属性是可以继承的
- CSS 预处理器有哪些?了解他们的特性吗?
- 正则表达式的语法熟悉吗
聊天环节
- 有没有做过一些 server 端的开发
- 讲一个你觉得最具代表性的项目吧
- 你还有什么问题?
二面(半个小时)
主要就是聊天
- 介绍一下你研究生的研究方向,结合项目聊一下
- 你觉得在这些项目经历里最困难的是什么
- 一个完整的软件开发是什么样子的
- 测试一般是怎么进行的
- 前端业界比较流行的框架了不了解?平常自己怎么学的
- 研究生都上啥课
- 有什么兴趣爱好
- 你还有什么问题
三面(1个多小时)
-
数据结构中的栈、队列有什么区别
-
数组和链表有什么区别?双向链表有什么好处
-
虚拟内存了解吗
-
缓冲区溢出有了解吗
-
如何实现两个标签页的数据交互
-
如何删除一个 cookie
-
websocket 如何传输文件
-
怎么去分析项目的性能
-
chrome 调试用过哪些
-
页面卡顿的话可以做哪些优化
-
项目构建 package.json 有哪些项
-
项目升级版本发布需要做哪些工作(我说了一大堆乱七八糟的之后还是没说到他们想听的,最后给我介绍了一个灰度测试)
-
项目重构需要从那几方面出发
-
代码开发有哪些规范
-
其它的就是一些项目上的扯皮
-
最后让我做了三道 js 题目
- 手写一个对象深度拷贝的函数
- 一道关于变量声明提升的问题
if('a' in window) { var a = 'hello' } console.log(a) // 输出?
- 一道this指向的问题,并扩展了严格模式下会有什么不同
var name = 'window'; var person = { name: 'person', prop: { name: 'prop', say: function () { console.log(this.name) } } } person.prop.say() // 输出? var fn = person.prop.say; fn() // 输出?
总监面(20分钟)
- 一些个人基本情况、认知上的问答
- 在工作室的工作职责主要有哪些
- 在工作室有哪些比较难处理的问题
- 在工作室有什么收获
- 一般开发项目是多长的时间
- 有没有面其它的公司
- 一般怎么去学习前端
- 有什么兴趣爱好
- 什么时候可以来实习
- 给我讲一下你的论文大致的研究内容、创新点、用到的一些技术
hr 面(10分钟)
- 学校选择问题
- 研究生学习的课程和本科有什么区别,觉得有什么帮助
- 问成绩,本科成绩,研究生成绩
- 什么时候毕业
- 说一下论文的基本情况
- 课余时间会做些什么
- 有加入什么社团组织吗
- 项目背景调查
- 说一说家里的情况吧
- 实习时间确认