【wxg微信支付】前端实习面经(一二三面)
一面
时间:2020/03/25 11:00 45分钟
形式:腾讯面呗
讲项目
小程序的用户鉴权机制
- session_id状态过期怎么办
谈谈git flow
web安全方面你知道什么?
- CORS,攻击者怎么攻击的
跨域及解决方案
- 你觉得为什么浏览器要有同源策略呢?
webpack性能优化方案
两道编程题
手写迭代器
手写防抖
二面
时间:2020/03/29 15:00 60分钟
形式:腾讯面呗
讲项目
flex布局
position属性
输入url到浏览器的过程
js原型链
问ES6的新特性(讲了很多,他挑着细问了一些)
var、let和const的区别
promise
promise.all 和 promise.race
比如promise.all是并行的,怎么封装promise做串行处理,讲思路(晚上我试着写了下,代码在下面)
怎么用promise写async/await
promise和setTimeout区别(想问事件循环吧)
cookie和session的区别
- 浏览器禁用cookie,怎么办?(token)
想问我docker(我秒说不会)
算法题:topK,时间复杂度O(n)
Promise执行串行:
Promise.all虽然是并行的,但返回结果是有序的。所以面试官的思路应该是让我写一个函数:执行顺序串行,而不是只做到结果顺序有序。
思路一:完全基于promise
const sequence = function (arr) { let result = [], len = arr.length; let promises = arr.concat([() => Promise.resolve()]) return new Promise((resolve, reject) => { promises.reduce( (prePromise, nextPromise, index) => prePromise.then((data) => { result[index] = data; if(index === len) resolve(result.slice(1)) return nextPromise(); }), Promise.resolve() ); }); };
思路二: async + for of
// 保证执行时串行 const sequence = function (arr) { let result = []; return new Promise((resolve, reject) => { (async function next(){ for(let item of arr){ let temp = await item(); result.push(temp) } resolve(result); })() }); };
测试样例
const delayFn = (delay, val) => () => { return new Promise((resolve, reject) => { setTimeout(() => { resolve(val); }, delay); }); }; const p1 = delayFn(300, 1); const p2 = delayFn(200, 2); const p3 = delayFn(100, 3); sequence([p1, p2, p3]).then( (res) => console.log(res), (rej) => console.log(rej) ); // 1 2 3
三面
时间:2020/03/31 10:00 35分钟
形式:腾讯会议
vue和react的区别
vue的生命周期
react的生命周期
MVVM和MVC相比的优势
扩展运算符了解吗
浮点数相乘,写一下代码
function mut(num1, num2) { const numStr1 = num1.toString(), numStr2 = num2.toString(); if (numStr1.indexOf(".") == -1 && numStr2.indexOf(".") == -1) return num1 * num2; const [a1, a2 = 1] = numStr1.split(".").map((item) => parseInt(item)); const [b1, b2 = 1] = numStr2.split(".").map((item) => parseInt(item)); let res1 = a1 * b1; let res2 = a2 * b2; let res = res1 + "." + res2; return parseFloat(res); }
问了一下项目
KMP算法了解过吗(不会)
快排的过程?
你觉得快排有什么缺点?(不稳定)
快排什么情况下会O(n^2)?(每次取的 pivot 都刚好是最大或者最小的元素)
当天进hr面状态了,许愿后续都顺利~~
#实习##面经##腾讯##前端工程师#