前言
19年毕业于广东一所一本大学,校招的时候拿到了腾讯、字节、拼多多等offer。
最终选择了腾讯,在鹅厂待了两年多了,业务只能说一般般,比较忙,通常都是晚上十点左右才下班,而且需要随时待命。鹅厂其实挺好的,该给的福利待遇都很足,只能说和我的发展方向不太符吧。
这次出来面试主要是希望能换个平台寻求更好的发展和更高的技术视野,也希望能找到轻松一些的工作,所以就出来看看机会。
个人选择的原则:满足工作生活平衡、付出收益平衡、业务未来可观三者之一。
下面我会对这次字节面试做一些总结,会标明每一题的性质,也会给出一些参考思路。
- 描述:对概念、过程的描述,纯理论性问答题为主
- 举例:说出应用场景,或者是自己团队实践的情况
- 伪代码:写代码,但不需要跑起来,甚至可以随便写伪代码,主要目的是描述思路
- 编程:真正的写代码,需要跑起来,有测试用例,要看到效果
面试总结
一面
说来也是比较巧,面试我的面试官之前也是腾讯的,面试的过程也非常好,全程跟聊天一样,互相交流技术,后面也扯了一些在腾讯的旧事。
1.项目难点【描述】
2.如何设计权限系统,如何维护和定义、表的数据结构是怎样的【举例】【描述】
我们的项目是rbac1类型的权限系统。展示是树形结构,但权限是扁平化的,只需要勾选权限,可以达到灵活修改权限
3.中间人劫持,怎么防止。x-frame-option?白屏的喔,怎么办?也不一定嵌入iframe啊,可以嵌入脚本、图片,怎么阻止【描述】
x-frame-option、重定向、https,请求前加密(https、加密代理)、请求中规避(请求拆包)、请求后弥补(前端做一些逻辑)。嵌入非iframe的,如果已经突破了前面两关,走前端逻辑:触发DOMNodeInserted、DOMContentLoaded、DOMAttrModified事件。或者是给能src的标签加上自己的data-xx属性标记区分
4.class组件和function组件对比。写过安卓吗,那对class组件有什么看法【描述】
各自特点对比罗列一下。我也不知道有什么很好的,问题都放在这里,说明对方倾向于class组件的,所以一定不能说太多class组件不好,吹捧hook
5.hook缺点,hook代码难维护怎么解决【描述】
这种开放性和经验积累的题目真的是最难的