背景
双非一本,软件工程大三在读,面试前端开发 准备路线:看书 + 刷题 + 项目 部门:WXG 腾讯微信
项目:总共三个项目,有的负责前端有的负责后端,其中一个全部自己写并且在高校内已经上线使用,有一定的用户量。
一面【2021-05-26】(30mins笔试+55mins面试)
- 解释一下三道笔试题(单链表倒数第K个节点、数组中找到第K大的元素、求一个一维数组中的最长递增子序列的长度)
单链表倒数第K个节点
数组中找到第K大的元素
求一个一维数组中的最长递增子序列的长度(这里是快排思想,可以用堆优化一下)
给一段代码,看代码说结果(EventLoop相关)
setTimeout(() => {
console.log(0)
},0)
const promise = new Promise((resolve, reject) => {
console.log(1);
resolve();
console.log(2);
})
promise.then(() => {
console.log(3);
})
console.log(4);
// 1、2、4、3、0
- Axios底层是怎么实现的
- 原生写一个请求方法怎么写(new XMLHttpRequest()、httpRequest.onreadystatechange = function(){ httpRequest.status == 200 httpRequest.responseText })
- Promise里面all、race分别有什么区别,作用是什么,race有什么用
- Promise如何捕获异常(then().catch())catch能捕获到上一个then函数里面的异常吗(Promise中的then第二个参数和catch有什么区别)
- 为什么要用then链代替之前的回调函数(避免回调地狱,除此之外还有什么原因)
- VUE的data、computed、props分别解释一下
- VUE中的computed有什么用,怎么实现
- VUE的响应式数据原理
- VUE2和VUE3有什么不同(Object.defineProperty和Proxy)
- JS的垃圾回收机制说一下
- 说一下哪一个项目对于你来说最具有挑战性
- 项目中做了什么优化(防抖、节流、缓存)
- 项目一天有多少访问量(千级别访问量,大多命中缓存,实际穿透数据库查询的少数)
- 为什么用WebSocket,WebSocket简单说一下(连接如何建立)
- 小程序登录流程说一下(小程序-后端服务器-微信API服务地址)
- 登录TOKEN一直有效还是?后端、小程序分别怎么保存(redis、localStorageSync)
- 后端用什么数据库
- 反问
二面【2021.06.04】【40mins】
- 问项目主要负责的开发内容
- 如何完成一个完整的后台登陆系统鉴权
- session和cookie的区别
- Http和Https协议介绍一下,https如何保证安全性,为什么不能让客户端生成非对称密钥去加密传输而要用CA证书的形式(细节问)
- 公钥私钥随机产生(等同于会话密钥的作用),第一次和服务端交互就给到服务端,为什么不能用这种方式代替CA证书
- 为什么不选择其他多端开发的框架
- 说一下Uniapp有什么坑
- 为什么选择Uniapp开发
- 什么样的项目不适合用Uniapp去开发
- 用了Vue,Vue的渲染机制说一下,从Vue实例化开始到最后数据呈现到页面当中
- Web安全了解多少,都说一下(XSS、CSRF)
- 反问
三面【2021.06.13】【50mins】
- 每个项目说一下自己的定位
- 说一下每一个项目的架构
- 使用成熟技术架构框架和使用自己原创的架构各有什么优缺点
- 说一下微信小程序和Web管理后台分别的登录体系
- 客户端的用户登录态如token如何保存(说一下保存方式有哪些)
- 说一下UNIAPP和原生小程序开发有什么不同
- 一个url输入请求后,服务端的处理流程是什么
- 同时十个人请求同一个API,服务端如何确定优先级
- 如何测试自己的应用能够承受多少访问量
- WEB安全中CSRF深入
- CSRF解决措施,以及被攻击服务端应用有什么缺点(答两点)
- 服务端如何判断请求是否来自允许请求域白名单(request header:Origin、Referer)
HR面【2021.06.18】【20mins】
- 什么让你确定做前端,课程中应该没有特别教授
- 参加过很多比赛,挑一个成就感较高的项目介绍一下
- 具体这款项目小程序,开发花费多少时间
- 项目小程序在校内普及范围如何
- 同学使用产品的过程中,有没有使用者提出需求和优化反馈,介绍一下
- 项目1.0和2.0的更新内容有什么
- 现在小程序一直在用,有没有自己特别想加的一个功能
- 功能新增所涉及的协调问题,好打通吗
- 大三找实习,毕业参加工作还是考研究生?
- 经历了三轮面试,评价一下自己三轮面试的表现
- 小程序开发过程中,有没有观察到一些功能想去做的模块或者功能
- 反问
总结
腾讯在面试流程的设置上比较贴心,能够实时看到自己的进度状态,过程体验也不错,一二三面技术+HR面也比较常规,遇到答不上来或者答得不是很好的题目面试官还能给出修改建议,真心不错,拿到offer也挺开心,继续加油~
%CR%