美团全流程面经分享

包含时间线,问题和我的思路
个性化问题和部分细节可能会有省略,仅供参考

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正则,JIT原理,兜底策略
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 意向
本来是说有加面,但最后不知道什么情况,直接发了意向,具体原因我也不清楚,希望别给我白菜

#面经#

全部评论
每个问题都能回答得如此细致,甚至到底层的实现,我觉得可以说是几乎吊打其他的八股回答了。请问一下是怎么深入学习的这些知识点呢?
5 回复 分享
发布于 2024-09-24 11:38 上海
太牛了
1 回复 分享
发布于 2024-09-26 21:46 四川
这问的也太难了,太强了佬儿😭
1 回复 分享
发布于 2024-09-23 20:07 河南
大神啊
点赞 回复 分享
发布于 2024-10-15 11:38 山东
呜呜呜楼主你也太厉害了我想跟你学习学习可以去看看你的相关输出吗
点赞 回复 分享
发布于 2024-09-27 18:02 广东
等剩下的offer拿到后我再更新其他大厂流程,包含最刺激的wxg和字节
点赞 回复 分享
发布于 2024-09-20 22:47 天津

相关推荐

03-21 12:14
山东大学 Java
1.你的登录功能是基于什么来实现的呢?2.你使用了多级缓存,redis+本地缓存,那你的本地缓存是怎么去实现的?3.如果redis和DB库存不一致导致超卖了怎么办?4.如果redis和DB库存不一致,如何让用户感知到下单失败?5.如果抢票只有一张票,但是有上千万和请求到来,如何进行处理?不用消息队列的话?比如令牌桶?限流?6.用redis来实现全局唯一ID是如何来实现的?会不会导致7.项目有做分布式的部署么?如何实现?8.了解什么是Function call,什么是mcp,什么是skill么?9.平时编程有用什么AI么?10.Java面向对象的三大特性是什么呢?有什么含义?11.子类中如何引用父类的方法?12.父类对象的引用可以调用指向子类的新方法么?13.重载和重写有什么不一样么?14.如果重载里面的参数是list,但是泛型不一样,算重载么?15.被哪些修饰修饰的方法是可以重写的?16.Java的static方法有哪些作用?17.有什么办法在静态方法里面调用非静态的方法?18.Java常见的集合或者说集合框架有哪些?19.Concurrenthashmap是如何实现的?20.Java里面有哪些创建线程的方法?21.线程池的有哪些参数?他们具体什么含义?22.为什么要尽量使用自己定义的线程池?23.Thread local的实现是什么?它里面用了什么引用?24.排查过内存泄露的例子么?如何排查内存泄露?25.如何去排查OOM?26.Spring中的autowired和resource注解有什么区别么?27.Spring的bean默认是单例还是多例的?如何创建多例的bean?28.如果依赖注入的时候接口有两个实现,怎么是选择要注入哪个?29.Spring的IOC和DI是什么意思?30.用过spring的切面么?如何使用切面?31.MySQL有哪些隔离级别?他们怎么实现?为什么使用Mvcc解决可重复读?32.MySQL的索引失效的场景有哪些?33.索引是越多越好么?34.为什么平时实际生产要反范式?35.数据库的Join有哪几种方式join啊?有两个表,一张是交易的表,一张是结算的表,交易会每天给把它收到的订单给结算发一份。两个表都有订单号字段,如果有人在结算的表插入订单(不在交易的表)或者交易给结算的表丢失部分数据,如何去排查这些异常的数据?36.计算机网络的tcp协议如何做拥塞控制?37.Tcp头部的内容了解么?有哪些字段?38.手撕:K个一组翻转链表回答了七八成的问题吧,手撕六分钟写出来,面完直接约二面
牛客在线求职答疑中心
点赞 评论 收藏
分享
评论
28
60
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务