当前位置: 首页 > 面试经验 >

美团全流程面经分享

优质
小牛编辑
64浏览
2024-09-20

美团全流程面经分享

包含时间线,问题和我的思路
个性化问题和部分细节可能会有省略,仅供参考
8.31 笔试
选择应该是全a
编程a一半
9.10 美团一面
面试官是安卓开发,所以问的全是八股
1.自我介绍
2.小数精度问题
思路:基础回答即可,要回答出IEEE754,64位版本和其他版本区别,二进制的最终表现(0011无限循环)
3.作用域问题
思路:先回答基础八股,再追加v8执行器原理,追加执行栈和执行上下文的原理,引出作用域提升现象,从v8到顶层代码解释这种现象,这道题可以讲五六个知识点
4.CommonJS和ES6 Module
思路:直接从源码层面讲,cjs是社区实现,es6是官方实现,require讲文件代码引入+缓存判断+在函数内执行,讲五大区别,然后手写require伪代码,其中五个入参(this,module,exports,__filename__,__dirname__)的定义和指向要阐述清楚,还有循环引用问题
5.原型和原型链
思路:阐述原型图关系,然后顺带讲原型链继承,和其他继承(一共6种)关系和优缺点,主流现在用哪个
6.一道异步问题,然后讲异步原理
思路:从chrome源码讲事件队列(渡一教育那个版本),讲线程进程定义,异步定义,为什么js是单线程,浏览器有哪些队列,promise,asyncawait前世今生,generator前世今生,浏览器和node的事件循环区别
7.事件机制和事件委托
思路:基础八股无拓展
8.项目性能优化思路
思路:我的大招,讲过类似的教学视频,直接讲了10分钟,从网络,资源,缓存,代码,委托,js压缩,css摇树讲
9.你提到的css摇树讲一下
思路:我的陷阱,直接讲purgecss原理,上伪代码,手写selector正则,JTI原理,兜底策略
10.https握手
思路:讲经典RSA握手,和TLS1.2,TLS1.3,RSA和EDCHE算法,会话复用,1RTT和0RTT(PSK)
11.如果你要跨端参与安卓开发,你觉得有哪些挑战
回答:本身就是安卓开发出身,从高中开始接触,后面转web开发,您无需担心。
12.手撕leetcode二叉树中序遍历,两种方案
13.反问
个人表现,部门base,下一场什么时候约
9.12 美团二面
二面面试官非常喜欢深挖,但没挖动
1.自我介绍
2.国际化怎么做的
思路:讲字典树,语言权重头
从这个问题开始,一直深挖
Q1如何细分到页面?如何细分到组件?
A1多级字典树,字典树分片,按需加载
Q2团队开发如何处理字典?
A2开发人员编写,或者使用正则判断提取需要翻译的内容,上判断内容伪代码
Q3如果开发人员无法国际化,如何实现?
A3浏览器插件思路,简单讲一下如何写插件,如何实现,然后插件如何内嵌到项目中
Q4如何做一个通用的国际化工具
A4根据A3思路深挖,最后挖的我也没说明白,面试官也没懂,然后面试官到此结束,换个问题
3.你的项目有后台数据统计
Q1如何埋点,热点问题如何上报
A1如实回答
Q2如果项目是hash路由和history路由混用,如何区分
A2修改每个监听器单独处理
Q3锚点问题如何解决
A3忘了,面试官给了个思路,但是不靠谱,没反驳,也没记住
Q4如何做通用的埋点思路
A4以路由为主线深挖
最后面试官给了我个监听DOM和BOM的方案,方案可行,但不符合面试官提到的通用型,当场反问,最后面试官觉得他的描述不准确,按描述讲我的方案更合理。
这道题之后,就不再深挖技术了
4.讲下http
回答:定义,各个版本区别,http3,TCP,多路复用,头部压缩等等一系列细节追问,直到我和面试官都不会
5.定长和不定长的http数据怎么传输的
思路:content-length, transform encoding,keep alive原理,面试官听完挺满意
6.http帧结构,具体讲
思路:那图背的滚瓜烂熟了,全讲了
7.CSRF攻击,SYN泛洪
思路:基础八股,尽量展开吧
8.你提到的csrf token如何优化
思路:类jwt编码,无状态处理,减少服务器存储
面试官给最优解:body和header都放token(这道题确实面试官厉害,是自己的盲区)
剩下的都是项目和实习相关
9.手撕:一道01背包题,非leetcode原题,美团自己编的
10.反问:
个人表现,ssp还有hc吗(我觉得答的非常好才会问这个问题),多久出结果,最后请求加快流程推进
9.20 意向
本来是说有加面,但最后不知道什么情况,直接发了意向,具体原因我也不清楚,希望别给我白菜
#面经#
 类似资料: