整理了几道字节跳动真题,来试试自己水平有多厉害吧,每题还有答案和详细解答哦。
1、变量a是一个64位有符号的整数,初始值用16进制表示为:0x7FFFFFFFFFFFFFFF。变量b是一个64位有符号的整数,初始值用16进制表示为:0x8000000000000000。则a+b的结果用10进制表示为多少?
A:1
B:-1
C:263+262+…+22+21+2^0
D:–(263+262+…+22+21+2^0)
(1)a+b的16进制表示为:0xFFFFFFFFFFFFFFF(16位F),转为2进制为1111111111111111。
(2)有符号整数是针对2进制而言的,最高位代表符号位,其中“0”代表“+”,“1”代表“-”。所以a+b的结果是一个负数。
(3)计算机中的负数是以补码的形式保存的,将补码转换成原码方式为:除符号位之外,按位取反,末尾+1,所以a+b=-1。
答案:B
2、在TCP建立三次握手过程中,关于第二次握手发送的标记,最正确的描述是?
A:ACK B:SYN,ACK C:SYN,PSH D:SYN
答案:B。附上TCP建立连接的三次握手过程图。
3、栈是先进后出的数据结构。给定一个大小为3的初始状态为空的栈,已知一组数据经过这个栈后,最终得到的数据顺序依次为:1324,问原始进栈的数据不可能是以下的哪组?
A:2314
B:1423
C:4231
D:3124
答案:C。本题考栈的进出规则,注意题中规定栈的初始大小为3。
4、假如操作系统中使用LRU内存淘汰策略:如果内存需要加载新数据但空间又不足,则会按照最近访问时间进行排序,并将最老的数据淘汰,假设现在内存空间大小为5,原本内存中没有数据,对内存中数据的访问顺序如下:1,2,5,3,4,6,1,4,3,6,7,8,3,9。则:
A:缺页次数:9
B:缺页次数:4
C:缺页次数:10
D:缺页次数:5
答案:C。原本内存中没有数据,直到读满数据,每一次读取数据都是缺页,共5次。
第一次读满数据的顺序为:1,2,5,3,4。
读取6为新