2020年04月17日腾讯二面总结
今天收到了腾讯的二次面试,主要分为以下几个部分。
- 自我介绍, 着重关注了学历这块。
- 我突出我的优势部分(在众安的工作经历,比较契合腾讯西安的工作场景)
- 对之前RN项目的了解。
- 包括如果保证编译好的bundlejs不会被人本地篡改(这块当时面试的时候,没想好,后来思考了下)
- 如果是用户自己修改自己的客户端,影响不大
- 篡改本地文件后, 如果想要造成影响,需要将app重新打包,这块解决思路上是防范二次打包
- 如何更新bundlejs包, 如果造成线上影响如何消除(我这块参考的是chrome的栈存储方案,把存储分成两份,一份满了以后,反转过来,把原有的删除掉。所以我这块提的方案是将原有的bundlejs包缓存一段时间,如果中间发生新包下线操作,修改bundlejs的指针,指向老的bundlejs包)
- 为什么选择RN技术栈,而不是hy方案
- 如何看待小程序的技术方案。
- 小程序方案的实质,如果是原生方案类似于RN
- 如果是编译成html, css,js, 其实实质就是hy方案。
- 一次编译多端运行的类nanachi方案。
- 如何解决包和包之间重复的react-native的框架代码
- 参考webpack dll 方案,将框架代码打包,统一内置。
- 包括如果保证编译好的bundlejs不会被人本地篡改(这块当时面试的时候,没想好,后来思考了下)
- React相关问题
- react 如何进行数据传递, redux的理解
- react16 fiber架构的了解。 解决了什么问题,为什么这么改动
- 网络协议相关
- https协议的了解(我回答了加密过程,client_random, server_random, 本地使用公钥加密的ticket, 双端分别使用这三个数,对称加密传输)
- 如何解决网络劫持
- https证书是什么。
- 网络安全相关
- XSS
- 我回答了存储型XSS攻击 (举例网易云的歌单名称, 这个会存储在服务端的数据库中)
- 反射型XSS攻击(这个常见的就是直接使用url的params参数,展示在页面中)
- 通过网络劫持实现的XSS攻击(这块面试官提示了我,问我如何防范网络劫持)
- https
- 使用CSP限制运行的js代码的源。 http://www.ruanyifeng.com/blog/2016/09/csp.html
- XSS
面试结果不太好,跟自己的预期不一致,也同腾讯同学确认。 因为学历被卡了下,不过这个问题,短期内没有解决方案。还是感谢腾讯同学提供的机会。也暴露了一部分自己在技术有些方面了解不够。 继续加油~