Skip to content

Latest commit

 

History

History
243 lines (125 loc) · 4.55 KB

常见问题.md

File metadata and controls

243 lines (125 loc) · 4.55 KB

常见问题

IPC种类

信号量

进程和线程各有几种状态以及状态转移图

虚拟内存

linux命令查看端口,内存,进程状态

lsof -p | grep cwd

进程和线程区别,进程通信

cpu终端发生了啥

内存管理,进程调度

杀死进程,查看tcp连接(netstat)

protobuf(序列化)

ping(原理)

io复用

布勃过滤器

epoll

linux进程空间分布

停止和启动线程

线程内存和主内存

进程有哪些状态; 从运行到就绪发生了什么? 从运行到阻塞发送了什么(举个资源消失的例子,具体什么资源)?资源能够获得了,从阻塞到什么状态?

进程和线程通信。

共享内存和常驻内存

逻辑地址和物理地址

死锁条件,避免方法

进程地址空间

编译和链接

动态库和静态哭

堆栈存放的内容

网络字节序和本地字节序的区别;(大端(确定保证不同主机都能够处理)和小端(x86小端,先处理低位字节))

大端和小端(由于varant用一表示下一个字节是否还有顺序)

PCB

traceroute

索引优点缺点

linux查看负载

cat、tail、vi、vim命令的区别,分别说一说?

linux打开或者查看大文件

计算机网络

UDP是无连接的;

dns解析

3,4,5状态吗

UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态(这里面有许多参数);

UDP是面向报文的;

UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等);

UDP支持一对一、一对多、多对一和多对多的交互通信;

UDP的首部开销小,只有8个字节,比TCP的20个字节的首部要短。

作者:Guide哥 链接:https://juejin.im/post/5b5f20686fb9a04f844adbdd 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

网页缓存

为什么需要ipv6

IP地址怎么能找到物理位置? 【ping ip地址, arp -a 显示物理地址?】

输入url发生了什么。

cookir和session以及参数(token)

服务器的域名是geogle,我可以修改cookie的domain为baidu吗?

MD5加密🉑️逆吗

滑动窗口,拥塞窗口,可靠传输

ping(原理)

客户端或服务端崩了,如何结束连接,对方如何感知 http请求包结构

tcp和udp区别

三次回收和四次握手

cp/ip模型(还问了dns http tcp ip等几个协议分别属于那些层

Http1.0,2.01.1keepalive

如果每个DNS对应一个ip,那么这个是怎么存储的,存在哪里

输入网址后,会经历哪几个步骤

(安全并发的map)

进程中必须有线程吗

怎么确认客户端和服务器端进行传输数据时,数据有没有丢失,如果发现数据块丢失会怎么办,会发送什么请求,跟三次握手四次挥手有关系吗

为什么说TCp协议是安全的

缓存穿透,热点数据。

垃圾回收算法。

为什么是多线程应用,而不是多进程应用/

查看端口号或者进程好

raft协议

通过两个索引查询出来的结果,会进行什么要的操作?交集,并集?

慢查询

explain出现的字段

数据库

一对多,多对多关系

可重复读,幻读

字典数,b+树

手撕sql

线程池

事务/触发器/

acid和事务隔离

聚集和非聚集索引

获取成绩排名前8的学生姓名

找出表中有两条记录的人的名字

分布式事务

脏读和幻读

乐观锁和悲观锁。

作者:aud 链接:https://www.nowcoder.com/discuss/447059?type=post&order=time&pos=&page=1&channel=666&source_id=search_post&subType=2 来源:牛客网

select name from Persons group by name having count(id) = 2;

​ select name from Persons group by name having count(name) = 2;

hashtable

理想查找效率,碰撞

扩容机制

二叉树最大路径和

不用乘除实现乘法,加法,除法

数据结构

二分查找(尾递归)

func serarch(data []int, i, j int) {
   for i < j {
      mid := int(uint(i+j) >> 1) 
      if !(data[i] < data[j]) {
         i = mid + 1
      } else {
         j = mid
      }
   }
}或者(j - i) / 2 + i(防止溢出)

外存排序

ctrl c用什么实现

堆排序的时间复杂度,快速排序的时间复杂度,稳定性,稳定性的作用?

五层模型说一下?

lru

lru和hashmap比较重要

你觉得有什么可以分享的学习经历

一,学习快速排序得过程 二,学习mutex和sync和atomic的过程。