腾讯CDG 深圳 广告部门面经:
腾讯深圳的广告部门面经:
1.介绍下在项目里主要做了什么
2.做的后端项目里遇到的比较难的点
3.B+树和跳跃表的区别:平衡树/多个有序链表,插入可能需要旋转来维持平衡/不需要旋转,插入删除算法复杂/容易实现,并发需要加锁/跳跃表支持无锁操作:https://juejin.im/post/5cadd9cc5188251b130c707b
4.问了解的开源项目
5.因为我有前端的项目,就问了webpack打包的过程、原理
6.问腾讯内部的pivot数据库为什么这么快?它比其大数据数据库的优点是什么?
7.react为什么快:参考这个,写的很短::http://undefinedblog.com/why-react-is-so-fast/
(只记忆标题和黑体字即可)
7.1.强大的 Virtual DOM:只更新需要更新的部分
实际上,JavaScript 之所以让人感觉慢就是因为 DOM 操作慢。试想随便新建一个 DOM 元素就有无数个属性、方法、事件、回调,这样的性能损耗是不能接受的。当 state 发生改变时,React 提供的 render 方法并不会直接把你定义的 HTML 结构重新写进 DOM 中,而是在内部的 Virtual DOM 中进行 diff,再计算出需要更新的 DOM,最后再把这部分需要更新的 DOM 写入真正的 DOM 中。
7.2.高效的单向数据绑定
写过 Angular 的同学都知道 Angular 提供的双向数据绑定用着很爽,但是当需要绑定的数据越来越多时,Angular 的脏值检测方法就显得力不从心了。而 React 提供的仅是单向数据绑定,这样的绑定并不会让你觉得不便,反而配合 React 自己的事件系统,用起来得心应手。
8.浏览器的几种安全攻击技术
9.浏览器的缓存
10.http2比htpps的优点
11.linux的性能分析命令
12.HTTPS:
HTTPS其实是有两部分组成:HTTP + SSL(安全套接字层) / TLS(传输层安全),也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。具体是如何进行加密,解密,验证的,且看下图:
https的加密过程:
1.客户端发起HTTPS请求
2.服务器 用RSA生成公钥和私钥,然后把公钥放在证书里发送给客户端,私钥自己保存
3. 客户端首先向一个权威的服务器检查证书的合法性,如果证书合法,客户端产生一段随机数,用公钥加密这段随机数,然后发送到服务器
4.服务端利用自己的私钥对证书解密,得到这个随机值,这样两边就有相同的秘钥了
5.后面两边传输数据前,都要用秘钥对内容进行加密,然后另一边接收数据后,再用秘钥进行解密。
总结:https的机制就是在刚开始的时候使用一次“非对称加密”来帮助传送一下“对称加密”的“秘钥”,后面都是用秘钥对内容进行对称加密,提高效率
13.http2:
多路复用: 允许同时通过单一的 HTTP/2 连接发起多重的请求-响应消息。
二进制分帧:
首部压缩:降低传输数据的大小?
服务端推送:服务端推送是一种在客户端请求之前发送数据的机制。在 HTTP/2 中,服务器可以对客户端的一个请求发送多个响应.(比如如果一个请求是由你的主页发起的,服务器很可能会响应主页内容、logo 以及样式表)
#腾讯##面经##校招#