汇总记录一下面试中遇到的问题,希望对大家有帮助
废话不多说,直接就开写吧。
时间:2019-03-13
职位:大型企业RN岗位电话面试
Android原生相关:
- 四大组件有哪些?
- activity
- service
- content provider
- broadcast receiver
- Activity的生命周期:
看图吧: - Service有几种绑定启动方式?
1、startService 启动的服务:主要用于启动一个服务执行后台任务,不进行通信。停止服务使用 stopService;
2、bindService 启动的服务:该方法启动的服务可以进行通信。停止服务使用 unbindService;
RN相关:
-
RN生命周期:
看图:
- 网络请求放在哪一个阶段?
网络请求放在 componentDidMount()中, componentDidMount 方法中的代码,是在组件已经完全挂载到网页上才会调用被执行,所以可以保证数据的加载。此外,在这方法中调用 setState 方法,会触发重渲染。所以,官方设计这个方法就是用来加载外部数据用的,或处理其他的副作用代码。详细请参考:https://segmentfault.com/q/1010000008133309
- app登录的时候,用户名密码的加密方式?
其实,不仅仅是用户名和密码,重要数据都应该加密,由于我们项目里面使用的是 DES 对称加密,故我就给他说了 DES 对称加密。app 端和后端共同持有一个公共的密钥,加密数据和解密数据都使用这个密钥。可以理解为,明文 + 密钥 = 加密后的数据,即 1 + miyao = lkjlkj , lkjlkj - miyao = 1。
更多:
a.DES 对称加密
b.基于 DES 动态 Token 验证的设计方案
- 缓存用的什么?
前端:
1. AsyncStorage,详细:https://reactnative.cn/docs/asyncstorage/
2.状态管理器 Redux,详细:https://segmentfault.com/a/1190000015367584?utm_source=tag-newest后端:
Redis,详细:http://www.runoob.com/redis/redis-tutorial.html
- 对图片做过的处理有哪些?
前端:
1.使用过组件对图片进行选择,多选以及裁剪等。
推荐组件:react-native-syan-image-picker
个人实践地址:https://github.com/supervons/commonProject/
2.对过大的图片进行压缩。后端:
1.判断图片的格式是否合规。
2.判断大小是否在规定之内。
对本次电话面试总结:
- 在缓存那里,我就说了 Redis ,明明知道 AsyncStorage 与 Redux。
- 在图片处理那里,我就说了后端进行格式判断,大小判断,估计是想问我前端对图片的处理,知道,但是我没说,理解可能错了。
- android 原生基础有待提高
- 下次不清楚问题,就先问清楚问题,由于之前是后端转的 RN ,没有过 RN 面试经验,结果待定,总之,吃一堑长一智。
目前就这么多,不定期更新。
感兴趣的朋友可以关注一下,分享讨论交流技术~,不定期发放福利?。