首页 > shopee前端岗社招面经分享
头像
小鱼不吃鱼
发布于 2021-08-15 18:57
+ 关注

shopee前端岗社招面经分享

发现shopee今年还是挺火的,招的人也挺多,但是面经很少,所以记录一波,有需要的看下。

一面(视频面)

 

1.自我介绍

2.单向链表输出倒数第K个元素

3.看代码输出结果(考察变量、函数提升)

4.看代码输出结果(考察异步代码先后顺序)

5.手写instanceof关键字

6.手写Promise

6. react中为什么不能在for循环、if语句里使用hooks,说下react hooks实现原理。

8.说下react fiber。

9.看你之前做过RN开发,说下RN的原理。

10.说下输入一个url地址的全过程。

11. http的缓存策略。

12.说下https,证书是如何校验的?

13.说下http2,你觉得阻碍http2发展的问题是什么?(这题后面的问题挺有意思,可以网上搜下答案)

14.算法题。跳格子问题,假设一次只能跳一个格子和两个格子,N个格子有多少种跳法?

 

二面(leader面) 

1.自我介绍

2.为什么要离职?

3.对你的项目经历中RN做的app挺感兴趣的,你能详细说下这个项目吗?

4. RN中原生和js端是如何通信的?你说后面使用JSI了,你能说下JSI的实现原理吗?

5.如果要你对这个app进行性能优化,你有哪些办法(面试官问了三次还有其他办法吗?)

代码层面,按照react的优化,减少re-render次数。图片加载用react-native-fast-image,页面初始化的逻辑使用InteractionManager.runAfterInteractions。去掉无用的View层。

进行分包加载,启动时只加载启动页面bundle,二级及更深页面等访问到再加载。

一些复杂的控件,写原生模块,比如日期选择、下拉选择、级联、播放器等。

6.你们的RN热更新服务是怎么做的?热更新原理是什么?你们的热更新策略怎么做的? 

客户端用的微软的code-push,服务端用的code-push-server。

热更新原理就是app每次启动会请求热更新服务器,对比下本地bundle版本和服务器的bundle版本,如果版本不一致,就会根据配置的更新策略下载、更新bundle,然后重新reload bundle。

我们就是在检查到新的bundle后,会弹窗强制更新。

7.设计一个RN热更新服务,需要考虑哪些地方?

bundle体积大的问题。打包的时候需要进行分包,使用增量更新,减少下载体积。

用户的网络不稳定、网速差问题。需要用CDN加速,支持断点续传。

安全性问题。

bundle被中间人劫持篡改。使用https下载,并按照https的加密思路,对bundle用hash算法进行签名,然后app端检验签名是否被篡改。

bundle下载地址被暴力攻击。检查User-Agent,只允许手机设备下载,记录设备id,在一定时间内限制下载次数。

8.你有什么要问我的吗?


HR面 

就一些简单的问题,这里就不说了。到hr面,基本都能过。

总结

整体难度一般,一面没有区分度,感觉一年经验和五年经验都是一样的。二面不错,对项目进行了深挖,考察了架构设计。问的问题偏向于RN,最后进来也是做C端的RN开发。

在shopee的工作体验确实轻松,不卷,但是过于轻松,又担心自己的产出。差不多就这样吧。大家自己看一看我写的面经,或许有所帮助吧。

 


更多模拟面试

全部评论

(5) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

热门推荐