贝壳2022前端校招一二面+hr面,攒攒人品,洒洒水啦~
所有面试在3月26日当天下午全部完成,从14:30 - 17:05。
一面(14:30 - 15:25):
- 深挖项目,具体到实现了哪个模块,解决了什么问题,有哪些功能,并且会在已做基础上提出一个新的功能让你说说实现思路。(问了很久,大概有30min)
- 实现一个compose函数,意思大概是实现一个函数,这个函数的参数是三个函数,最后调用时再传入一个初始值,返回这个初始值在经历这些参数里的函数计算后的最终结果。像这样:
function add(num) { return num + 1; } function multiply(num) { return num + 2; } function divide(num) { return Math.floor(num / 2); } function compose(add, multiply, divide) { return function () { return divide(multiply(add(num))); } } compose(add, multiply, divide)(1);
最后面试官升华到任意个函数参数都可以实现compose,提示我需要使用reduce,当时写了个大概,没有跑,面试官表示可以了。 - 反文环节:
- Q:团队使用的技术栈?A:React。
- Q:有在做跨端app吗?A:有flutter,但是不会太多。
- Q:平时开发的Web产品会做响应式还是两套界面?A:两套界面,响应式后期不好维护,建议两套。
二面(15:30 - 16:30):
首先给这一面的面试官一个大大的赞,很新鲜的面试体验。为人非常开朗随和,不会问太多八股文,而是抛出实际场景,跟你一起探讨解决方案和优化方案,就像真的跟同事讨论一样,感觉整个场子都热起来了。
- 项目中印象深刻地一的问题点,如何解决的?
- 现在要实现一个带搜索联想功能的输入框,可以说一说具体的实现思路吗?
- 如果联想词汇非常多,并且这些数据放在前端,前端要怎么组织数据结构?
- 刚刚提到的实现方案会有哪些缺陷呢?
- 现在开始后端有接口供我们查询了,如果查询后端的请求没有按顺序返回怎么办?(问了好几种解决方式)
- 即时输入即时发送请求比较浪费性能,有什么解决方案吗?这里回答防抖。
- 没问题,防抖要怎么实现?讲了代码实现。
- 浏览器获取到Web资源后是如何处理,并将这些内容展现出来的呢?
- js为什么会阻塞DOM的解析呢?
- 在进行网络传输时都会附加哪些信息呢?
- http传输层和tcp之间的关系?
- 反问环节:
- Q:团队平时会开发哪些业务相关的产品?A:toB和toC都有(这里讲得很详细)。
- Q:团队规模是怎样的?A:技术这边前端团队还是蛮大的。
- 实习当中有哪些收获呢?
- 为什么选择贝壳?
- 其他做快消的公司为什么不会考虑呢?
- 在选公司的时候会看重哪些呢?
- 后面还有其他的面试吗?
- 介绍了公司福利以及内部生活等等。
- 说两周之内给结果。
许愿OC!!!