⏱️投递时间线8.8 投递 -> 8.19 一面 -> 8.22二面 -> 8.26 三面
️面经:一面:(1h)
- 自我介绍。
- 你在数据可视化领域里主要是做上层业务多还是底层渲染多。
- 对比下eCharts和AntV,你觉得他们各自的优势缺点是什么。
- 现在有一个场景,需要渲染大数据的可视化,如果直接渲染图表会很卡,你如何去处理?(前端考虑用Service Worker + IndexDB去做)
- 介绍下前端的缓存有哪些?
- 为什么不用cookie来做缓存。
- ES6的数据结构中Set和Map的区别,WeakMap和WeakSet是做什么用的。
- 手撕:写一个高阶函数,第一个参数传递一个函数,第二个参数传递执行的次数,第三个参数传递时间间隔,要求它返回一个新的函数,调用新函数时,它每个时间间隔执行对应的参数函数,执行一定次数后结束。
- 手撕:写一个分红包函数,它接受四个参数,第一个为金额总数,第二个为红包个数,第三个为每个红包的最小金额,第四个为红包的最大金额,返回一个分好的红包集合,只需要考虑整形即可。(回溯)
二面(40min):楼主介绍的是自己写过一个pixiv的爬虫sdk,所以基本问的爬虫相关的问题。
- 自我介绍。
- 介绍一个项目。
- Pixiv-Web端的鉴权是怎么进行的?
- 如果你作为开发方,遇到这种客户端的反编译来获取源码,你怎么去做防御处理?
- 你了解过哪些反爬措施。
- 有了解过验证码的反爬措施吗?
- CDN如何去做反爬。
- 如何去做鉴权。
- 你在实习期间有具体了解过有哪些鉴权方式吗?
- 你有了解过单点登录SSO吗,具体介绍下它的流程。
- 手撕:按照BFS的模式打印一个嵌套数组。
- 手撕:数组最大子序列和。
三面(40min):也是主要问项目,楼主这次说的数据可视化相关的开发,所以基本问的数据可视化相关的问题
- 介绍下你自己做的项目。(楼主介绍的是一个Proxy写mock和AntV的一次PR)
- 你通过什么指标去衡量可视化图表的性能。
- 你通过什么手段去实时获取可视化图表交互时的实时帧数。
- 你如何去做数据可视化的性能优化。
- 你是怎么去爬取网上的天气数据?
- 有没有遇到过它们的反爬策略,你如何去做应对。
- 介绍下你项目中提到的这个通用机器人平台,它是如何实现这种通用性的?(面向切面的思想,用插件来分割业务)
- 手撕:反转链表。
- 反问。
总结:快手的面试体验也非常棒,面试官很和气,面试的内容不难,而且八股问的不多,主要还是会根据自己简历的项目以及介绍的项目进行发问,然后再进行拓展。
最后许愿个快手hr面。
#软件开发笔面经##快手求职进展汇总#