3.25美团转暑期一面111min
由于已经在美团日常实习ing,面试官是同大组的哥哥,大概是7年经验的L7,技术特别强人也特别好555,美团的每个Engineer怎么都这么强啊,都有闪光点。
面试官上来就说,既然是在团子实习的同学,咱们今天就搞简单点,10分钟面完到点下班,写个简单的题吧:
手写20min
parseInt:要求对字符串进行判断并转换,例如:
parseInt('') = NaN
parseInt('x123') = NaN
parseInt('12x3') = 12
parseInt('123') = 123
我一开始给出的写法是遍历字符串对每个字符的type进行判断,再拼接字符串,最后转Number()。
面试官:Number()兼容性可能有问题,而且最重要的是!不够优雅!我要求你10行内写完,能行不?
我:...给点提示?
面试官:ASCII码啊,这题也就课后题难度吧,抓紧想想!
最后在提示下写出来了,11行(汗)
实习
没想到接着就是聊天,聊业务聊实习做的事情。
主要是对我的链接转换和二维码生成工具比较感兴趣,毕竟这个功能写的PV和MC都挺高,而且确实连我们组的人和mt都经常也在用,运营产研都说好!被拷打了实现方式,重点拷打美团小程序容器底层如何实现承接h5/MRN落地页,还有中间页唤端的原理是什么,这些我确实在写技术设计方案的时候有瞟过一眼相关文档,但是真的还不够深入,对技术和业务的热情应该是很看重的点。
- 小程序h5容器的实现原理是什么?微信唤起是有上限的,谁做了处理?
- 既然你说到了唤端,有想过APP是如何记录站外唤起来源的吗?了解过LCH吗?
- 中间页唤端能力是如何实现的,有了解吗?
- 既然是营销投放链接,如何记录每个渠道的流量来源?了解过灵犀UTM(追踪网址成效表现)参数吗?
- 如果一个小程序嵌套一个MRN再内嵌了一个h5,想要做标记,应该在哪一层?(这个有点没懂,在中间那层是对的)
- 部门在做的搭建平台的底层原理是什么?比现有的平台优势在哪里?(多端兼容+交互优化)
框架
问到这里已经一个多小时了,面试官突然说:哎呀这样的话不好写面评呀,我们来点常规问题吧,Vue和React你挑一个,咱们随便聊聊(这里选了Vue,没办法还是对Vue更熟一些)
- data是对象还是函数,为什么?
- Vue2和Vue3生命周期对比
- 父子组件生命周期顺序(记住父先开始,子先完成)
- mounted阶段做了什么?和created阶段的区别是什么?(已经将编译好的模板,挂载到页面指定的容器中)
- 请求数据应该在哪个生命周期?获取不到想要操作的DOM应该怎么做?(nextTick)
- nextTick原理是什么?会手写吗?(Vue2和Vue3不一样,但原理相似)(校招不会情有可原,社招会考手写的)
- slot的原理?React是如何实现slot的?为什么可以只通过props实现(函数式编程的优势)
- 引出了Vue和React的不同,AOT和JIT优化
- 写过微信小程序吗,了解过微信小程序里的slot是什么吗?(没有)
计网
- get和post区别
- 引出的东西问的很深,还涉及到了业务实践啥的
反问&总结:
- 如何学习如何成长
- 7年进阶之路:业务-源码-抽象模块-设计模式-代码品味-MVP
- 收获很大,很多问题确实回答的不好,理解不够透彻。今天约了下周一现场二面,是另一个组TL面我,瑟瑟发抖