柠檬微趣前端二面

自我介绍

从在浏览器输入一个域名到页面完整展示,这整个过程发生了什么?
如果是HTTPS协议,相比HTTP有什么不同?
TCP三次握手具体做了什么?为什么要三次?
HTTPS中的TLS握手过程是怎样的?(四次握手都做了什么?)
TLS握手过程中,密钥是如何安全传递的?
证书是从哪里请求的?谁颁发的?任何人都可以拿到吗?
浏览器如何验证证书的合法性?证书不合格一般有哪些原因?

算法题:两数之和(Two Sum),实现最优的解法
为什么认为hash解法是时间复杂度最优的?空间复杂度是多少?
如果给定数组有序,如何优化?(说了双指针,但是还是On,感觉没优化)

算法题:如何对一个无序的单向链表进行排序?给出一个最优实现算法。
(第一次说了n方遍历)类似冒泡/选择的排序算法,复杂度是多少?
(想了下说了归并排序,子问题是合并两个有序链表)使用归并排序的思路,时间空间复杂度是多少?
合并链表时要创建新的链表节点吗?不创建额外空间,直接在原链表上操作可以实现吗?(可以,O1空间复杂度)

Cookie和Session在生命周期上有什么区别?Session的存活时间是怎样的,由谁来销毁?
Cookie的销毁机制是怎样的?关闭浏览器、重启电脑后它还存在吗?它具体存储在哪里?
Cookie一般用在什么场景?JS的垃圾回收(GC)机制是怎样的?
垃圾回收是由谁(或什么机制)触发的?讲一下“标记清除”算法的具体过程,它标记的是什么?
提到“可达”是什么意思?垃圾回收器如何判断一个变量是否“可达”?(说了检测运行执行栈中的变量,其实应该是从根对象往下遍历
反问

PS
没问实习和项目,问的点比较细,但是会深挖,挖到两个人谁不会为止
一些细节确实还是不够深入,有点磕绊
#发面经攒人品#
全部评论
发现好多公司都喜欢问这个三次握手
点赞 回复 分享
发布于 09-18 22:01 陕西

相关推荐

1. js中变量都是怎么定义的2. 说一下为什么 const 是不可变的3. let和var变量提升的时候提升到什么地方了4. js中在a.js中var a = 1,在b.js中能访问到吗5. 输出?为什么?var a = 1{console.log(a)var a = 2}console.log(a)6. 输出?为什么?var a = 1;{console.log(a)let a = 2}console.log(a)7. promise是什么8. 什么是同步,异步9. 那么promise中哪些是同步哪些是异步10. promise的方法执行顺序是怎么样的11. js中有哪些数据类型12. 对于number,怎么定义二进制、十进制、八进制、十六进制,除了加前缀还有什么方法13. 假如要定义浮点类型,.2这种方式对吗14. string定义方式15. 单引号、双引号、反引号定义有什么区别16. === ==区别17. true == -118. null == underfined19. 令underfined = 1这种写法对吗20. 输出?为什么?let a = 0 / 0;let b = 1 / 0;a == b21. 输出?为什么?let a = 0 / 0;let b = 0 / 0;a == b如何准确比较22. 输出?为什么?'' == '0'0  == ''23. 说一下浅拷贝和深拷贝24. 什么情况用浅拷贝/深拷贝25. 怎么实现深拷贝,哪些情况stringify无法实现26. 讲一下什么是webpack27. 有哪些loader28. 热更新怎么实现的29. http,https有什么区别,为什么https更安全30. git中怎么拉取代码31. git clone/fork/branch有什么区别32. git pull 和fetch有什么区别33. git rebase/merge有什么区别34. Branch B中提交了commit1,commit2,在branch A中想要拉取branch b的commmit1,怎么做35. 算法,给一个数组nums,要找出数组中没有出现的最小正整数
发面经攒人品
点赞 评论 收藏
分享
评论
4
15
分享

创作者周榜

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