一周八面的面经,求个offer
米哈游
一面 8.28 11:00-12:00
女面试官,无实习无项目,应该是个新手面试官,问的题目联系性不大。
基础八股+一堆手写,太久不复习忘了,并没有全写出来。
八股:
- 浏览器缓存机制
- TCP/IP网络模型,四层结构
- UDP和TCP的区别
- class+extends+super 和 寄生组合继承 有什么区别
- CSS flex 三个属性是啥,什么意思
写题:
- 两个栈实现队列
- 手写继承
- instanceOf
- 力扣 169 + 229 摩尔投票算法,229没A出来
阿里淘天
三面 8.28 14:30-15:30
最抽象的一集
- “为什么要写mini Vue,和Vue3相比有什么优势,怎么设计你的框架”
- “如果你要设计一个URL Schema平台(我实习的项目),要怎么设计,有哪些模块”
- “大学几年的时间中有没有觉得什么事情特别有挑战性,意识到自己的能力有天花板的那种”
- “前端工程师可以干什么,什么情况下前端工程师可以主导项目?”
- “为什么要去大厂,你想去哪一家,字节腾讯阿里怎么选,为什么?”
- “看了脉脉没,如何评价全员P4,你有没有什么疑惑”
- “为什么学日语 / 考N1用了多久 / 有没有考虑过读研 / 打不打算实习 / 在字节转正了吗”
- “你这场面试怎么没有前面那么自信(?)”
三面面试官不是很想给过,但还是过了,下周hr面,许愿offer
腾讯安全
一面 8.28 19:30-20:30
六道题给30分钟(牛客上有面经,搜“腾讯安全”就行,和那个一模一样,可惜我没做) + 不开摄像头,鉴定为KPI,就当自己刷了一小时力扣
全程谈笑风生,题目写不出来就摆烂,“力扣easy做不出来了,今天第三场了,写不动了”
面试官给我整笑了好几次,“我没有问题了,你有什么想问的?”“我也没有问题,拜拜”
- 快速选择还是写不对,淦
- 最大子序列和
- 除了异或,不用额外变量交换两个数还能怎么办
- 除了XSS、CSRF,还有什么攻击,看看SSRF
- Vue2的diff算法再看下,vue3的diff算法解决了vue2的diff的什么问题
update:8.29 16:40 居然过了,约了明天上午10点30,跟美团时间冲突,选了时间不合适
update:17:20 改到明天14:30,这下一周九面了,好似
二面 8.30
没给自我介绍的机会,部门人均全栈,被后端问题薄纱
14:30:
- 让你设计一个通用的缓存方案,可以怎么设计,用什么数据结构一开始说链表,然后改说数组,最后想到用哈希表然后让考虑缓存中可能有哪些问题,先说了过期的问题,方案是加一个时间戳,当前时间 - 保存的时间戳 > 阈值,就从哈希表里删掉。还想了个问题,就是缓存过大,但是没想到什么解决方案。
- 现在有一个很长的字符串,还有若干敏感词,目的是把敏感词都替换(假设替换成星号),思考敏感词应该用什么数据结构存放,函数的思路是什么。
中间太卡,提前退了,17:00 下半场:
- TCP为什么挥手要四次
- HTTP2/3(既然知道TCP有问题,为什么一开始不用UDP),为什么现在不能升级到HTTP3
- 比较不同数据库、docker、比较不同js的服务端框架
- 什么是微前端、什么是PWA、介绍web assembly
- 做过什么有挑战性的事,怎么解决
太极图形(实习)(已挂)
二面 8.29 11:00-11:50
- ts有哪些新增的基本类型(除了any、unknown、never、void,还有什么)
- never的用法
- 为什么说any是最顶层的类型
- any和unknown的区别
- 除了类型断言,有什么方法把any转化成别的类型
- Vue中如何实现一个ErrorBoundry组件
- ref和state的区别,为什么要用ref保存定时器的id
- 白话解释setInterval和递归setTimeout的区别
- Vue中parse template的时候,遇到左标签如何处理(讲的不太好)
- Vue中 模板里是怎么用到响应式数据的(render+setup,instance和组件代理细节有点忘了)
- redux和mobx比较
- 可视化
微软STCA(实习)
二面 8.29 14:10-14:40
牛客上碰巧看到有招,主动联系的对方
面试官把2点记成两点半了,打了个电话2:10开始面,强度还不及一面的一半,舒服了
- 实习
- 八股:
- 引入css的三种方式
- 浏览器的存储手段(复习indexDB)
- let / const / var的区别(复习变量环境 / 词法环境 / 执行上下文)
- 普通函数和箭头函数的区别
- 项目优化手段
- Vue里面有哪些优化手段(只想到key,下来再看看)
- 写题(相比一面,太友好了)
- 垂直居中方式写三种(只写了两种,再学一下)
- 中序遍历,然后自己写个二叉树mock一下
- 实习时长,入职时间
三面 8.29 16:00-16:50
问实习问项目,问了啥都不记得了
最后让先打开excel,看最上面字母的规律,就是A-Z,AA-AZ-BA-BZ-...-ZZ-AAA...,假设A的序号是1,让我求出AAA的序号是多少,并且写一个函数,传入序号,生成字符串
美团到家(已挂)
做的是海外的外卖平台业务,到家中比较新的一个子部门,技术栈React为主,但是问了很多Vue
一面 8.30 10:00-11:10
这面试官给我的感觉就是喋喋不休,硬要拷打你的那种
上来问了半个小时项目、实习和竞赛,然后做题:
- vue手写一个倒计时组件,可以开始、暂停、重置
- this输出:
function Foo() { getName = function () { alert (1); }; return this; } Foo.getName = function () { alert (2);}; Foo.prototype.getName = function () { alert (3);}; var getName = function () { alert (4);}; function getName() { alert (5);} Foo.getName();// getName();// Foo().getName();// getName();// new Foo.getName();// new Foo().getName();// new new Foo().getName();//
- es6转es5
class Model { constructor() { this.prop = 1 } method1 () {} method2 = () => {} method5 = function() {} static method3 () {} static method4 = () => {} } class subModel extends Model { constructor() { super() this.subprop = 11 } method11 () {} }
- proxy和defineProperty的区别
- proxy,当handler为空时的行为是什么
class Person { constructor(name) { _name.set(this, name); } get name() { return _name.get(this); } } const jane = new Person('Jane'); jane.name // 'Jane' const proxy = new Proxy(jane, {}); proxy.name // 'Jane' ?
高德地图
周四的时候emo了,估计推到下周面