美团(计算机基础)

链接:https://leetcode-cn.com/circle/discuss/wfA3rH/

  • 讲一下 SSL?

SSL(Secure Sockets Layer)直译过来是安全套接层。 HTTPS协议就是基于SSL层来实现的

HTTPS就是在两者(应用层和传输层)之间加入一个SSL层,称为加密传输协议

【SSL具体的功能】

1)SSL在实际的数据传输开始前,通讯双方会进行身份认证,确保数据发送到正确的客户机和服务器

2)SSL对传输的数据进行了加密,防止数据中途被窃取

3)SSL对传输的数据进行了封装,用以维护数据的完整性,确保数据在传输过程中不被改变

4)SSL对传输的数据进行了压缩

  • 密钥交换时,前端和后端的详细过程是什么?
  1. RSA非对称加密---缺点:加密内容的长度不能大于秘钥长度
  2. AES对称加密---缺点:任何知道秘钥的人都可以加解密信息
  3. 结合使用就可以取长补短,我们可以使用RSA来保护AES的秘钥

秘钥交换逻辑

  • DNS 解析过程

将主机名和域名转换为IP地址

过程:

  1. 用户主机上运行着DNS的客户端

  2. 浏览器将接收到的url中抽取出访问的主机名,并将这个主机名传送给DNS应用的客户端

  3. DNS客户端向DNS服务器端发送一份查询报文,报文中包含着要访问的主机名字段

  4. DNS客户端最终会收到一份回答报文,其中包含有该主机名对应的IP地址

  5. 一旦该浏览器收到来自DNS的IP地址,就可以向该IP地址定位的HTTP服务器发起TCP连接

  • 进程和线程的区别

  1. 线程的划分尺度小于进程

  2. 开个QQ,开了一个进程;在QQ的这个进程里,传输文字开一个线程、传输语音开了一个线程

  • 进程在内存中是如何分配的

  1. 为进程分配内存空间,有连续分配和离散分配

  2. 连续分配:单一连续分配、固定分区分配、动态分区分配(首次适应算法、循环首次适应算法、最佳适应算法)

  3. 离散分配:分页存储管理(页表)、分段存储管理(划分为若干段)、段页式存储管理(每个段再划分为若干页)

  • 线程池的了解

  1. 使用线程池的好处:降低资源消耗(重复利用已创建的线程降低线程创建和销毁造成的消耗)、提高响应速度(当任务到达时,任务可以不需要等到线程创建就能立即执行)、提高线程的可管理性(使用线程池可以进行统一分配、调优和监控)

  2. 通过ThreadPoolExecutor来创建一个线程池

  3. 线程池饱和策略:用户自定义拒绝策略(最常用)---实现RejectedExecutionHandler,并自己定义策略模式

  • 用户线程和内核线程的区别

  1. 用户线程不依赖于操作系统核心,内核线程由操作系统内核创建和撤销
  2. 用户级线程的程序实体是运行在用户态下的程序,而内核支持线程的程序实体则是可以运行在任何状态下的程序
  3. 在只有用户级线程的系统内,CPU调度还是以进程为单位,在有内核支持线程的系统内,CPU调度则以线程为单位
  • 堆和栈的区别
  1. 申请方式:栈由系统自动分配、堆是由程序员自己申请
  2. 数据结构的区别:栈:先进后出 ;堆:可以被看成是一棵树,如:堆排序 
  3. 内存:栈内存存储的是局部变量而堆内存存储的是实体;栈内存的更新速度要快于堆内存,因为局部变量的生命周期很短;栈内存存放的变量生命周期一旦结束就会被释放,而堆内存存放的实体会被垃圾回收机制不定时的回收
  • 堆常见的应用场景

堆可以用于优先队列,堆排序等场景

---判断数组中是否有重复值,要求空间复杂度为O(1)

如果没有空间复杂度限制,可以用哈希表实现。比如使用HashMap,将数据元素保存到key值当中,每次保存前判断是否存在该key值,如果存在说明有重复值。此时,时间复杂度为O(N),空间复杂度为O(N)

对于有空间复杂度限制,可以先排序,再判断的思路;空间复杂度为O(1)的有冒泡、选择、插入、希尔排序以及非递归形式的堆排序;先通过堆排序将数组排好序,然后再遍历一遍数组,比较相邻两元素值是否相等

  • git rebase 和 git merge 的区别

最终效果上来说相同,但是git merge和git rebase生成的代码树稍微有些不同

git merge会生成一个新的合并点,而git rebase不会

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值