字节跳动:2019秋招 后端开发工程师 一面

2019-10-01  本文已影响0人  阿臻同学

具体问题

譬如135+25=160

input:
1->3->5
2->5
output:
1->6->0

当时思路:直接使用两个栈来存储两个链表,再每次从栈顶取元素相加。

面试官:能否只使用一个栈实现?

一个栈+递归??
存疑。

百度百科:特权指令
常见的特权指令有以下几种:
(1)有关对I/O设备使用的指令 如启动I/O设备指令、测试I/O设备工作状态和控制I/O设备动作的指令等。
(2)有关访问程序状态的指令 如对程序状态字(PSW)的指令等。
(3)存取特殊寄存器指令 如存取中断寄存器、时钟寄存器等指令。
(4)其他指令。

用户态->内核态
切换过程中会用到 访管指令非特权指令,因为需要在用户态使用)

内核态->用户态

载波监听:不管在发送前,还是发送中,每个主机都必须不停地检测信道。
碰撞检测:边发送边监听。

当检测到冲突时,就立即停止发送,面的继续进行无效的发送,白白浪费网络资源,然后等待一段随机时间后再次发送。

使用 截断二进制指数退避 算法来确定重传时间:
每次从离散的整数集合[0,1,……,(2^{\min(重传次数,10)} -1)]中随机取一个数,记为r。重传推后的时间就是r倍的争用期。

参考:

存疑

参考:
聊聊并发(五)——原子操作的实现原理
原子操作是如何实现的? #3

上一篇 下一篇

猜你喜欢

热点阅读