腾讯前端二面

1. url是如何被浏览器解析的,是走搜索渠道,还是直接走渲染渠道

2. dns迭代和递归解析流程的区别是什么,如何选取,浏览器是如何选取采用哪一种dns解析方式的

3. http协议和https协议这两者,浏览器是如何知道,走的哪一种协议

4. http1.1和http2又是如何判断走哪种协议的

5. dns投毒了解吗,你觉得如何避免(操作系统的缓存)

6. https的加密过程,抓包过程中,是如何获取https加密后的信息的

7. https为什么不始终使用非对称加密

8. http2中服务器可以主动推送,这个和websocket的区别是什么

9. 算法: 判断s2字符串中是否有s1字符的排列

10. 实习过程中有没有遇到前后端联调的问题(答:content-type:urlencoded)

全部评论
这个手撕难度把大
点赞 回复 分享
发布于 09-19 19:50 陕西
博主有收到三面通知么 还有hc么
点赞 回复 分享
发布于 09-22 22:22 北京

相关推荐

1.图文上传流程2.如何解决图片上传的负载3.不同文件预览的挑战4.讲一下自定义hook5.讲一下Vue2 和vue3 的差异6.vue3解决了vue2的什么问题7.react对比vue的差异8.了解性能优化,在网络层面讲一下优化9.301 和 302区别10.浏览器缓存的策略11.具体是怎么触发缓存12.css的动画中,给一个元素写一个动画,又给它绑定了js点击事件,会生效吗13.反过来,js的代码会不会影响css14.盒子模型,width:100 padding:100 宽度是多少手撕:对于一个数组(长度>=3)进行乱序排序,要求每个元素不会落到原来位置,且落到其他位置的概率相同:function derangementShuffle(arr) {const n = arr.length;// 复制数组,防止修改原数组const shuffledArr = [...arr];// 1. 使用 Fisher-Yates 洗牌算法进行初步打乱for (let i = n - 1; i > 0; i--) {const j = Math.floor(Math.random() * (i + 1));[shuffledArr[i], shuffledArr[j]] = [shuffledArr[j], shuffledArr[i]];}// 2. 检查并纠正还在原位的元素for (let i = 0; i < n; i++) {// 如果当前元素还在原位,需要进行交换if (shuffledArr[i] === arr[i]) {let j = (i + 1) % n; // 从下一个位置开始找// 找到一个可以交换的元素while (shuffledArr[j] === arr[j] && j !== i) {j = (j + 1) % n;}// 进行交换[shuffledArr[i], shuffledArr[j]] = [shuffledArr[j], shuffledArr[i]];}}return shuffledArr;}// 示例const originalArr = [1, 2, 3, 4, 5];const derangedArr = derangementShuffle(originalArr);追问:这段代码的时间复杂度是多少反问:1.业务2.几面
查看15道真题和解析
点赞 评论 收藏
分享
评论
5
25
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务