百度一面 45min,编程10min左右
自我介绍+项目(搞水声通信的,主要问我遇到了什么问题,收获了什么啥的)
1.http状态码:我答了每个开头代表什么100,200,404,301是什么?
然后问我201,403,502,503。。。都是什么意思。我都不会
就问我这些状态码是理论学习还是项目用过,我说我没做过这方面的项目
2.get,post的区别
3.中间提到get请求发一个tcp,post请求发两个tcp问我为什么?
4.TCP流程,SYN,seq,ACK都是什么;
5.套接字通信了解么?(我说了一下套接字是 ip:端口号,客户端进程到达服务器传输层通过tcp协议到达对应端口号的进程,不知道对不对)
6.什么是僵尸进程(答错了)答成别的去了qaq我答成进程请求的资源已经被占用了,他就先等待,但是轮到他的时候,cpu把资源分给了后面排队的进程,然后他可能一直等待(我都想不起来这是啥了,yun)
7.然后就着我的回答问我为什么进程会一直等待?(这好像也是一种特殊情况,具体是啥想不起来了),我就说不清楚,然后问我为什么请求的资源会被后面排队的进程抢占?(我说了可能是因为非公平锁允许抢占资源)
8.hashmap数据结构,底层(数组加链表->数据+红黑树),中间提到了数组扩容
9.问我hashmap里的entry数组怎么进行扩容?(初始容量,加载因子)
10.什么是原子性操作?
11.i++是原子性操作么?(我居然说了应该是的,我直接吐血,一紧张是啥都敢说)
12.i++在内存里是怎么操作的?(答跑了,往java内存那方向答去了,说了在栈内存里是怎么操作的,晕球)
正确答案: i++做了三次指令操作,两次内存访问,第一次,从内存中读取i变量的值到CPU的寄存器,第二次在寄存器中的i自增1,第三次将寄存器中的值写入内存。这三次指令操作中任意两次如果同时执行的话,都会造成结果的差异性。
13.数据查询慢的原因?(不急丢啊,答了可能是数据量大,或着联合索引涉及的表比较多,每个表的数据比较多啥的)看小姐姐反应答的不怎么样。。。
14.写sql语句(说没写过--,就没让写了)
15.了不了解自动化测试?我说没做过这方面的项目。然后小姐姐都全程没问我测试用例的设计之类的。。。
16.什么样的对象会被垃圾回收?(答了没有变量引用的对象)然后问还有呢,就答了弱引用,软引用的对象这种,内存不足的时候就回收,GC一遇见就回收。
17.linux用过没有,我说没有用过。。。
只能想起来这些了,别的不记得了
手撕:合并有序数组
问思路,说完之后说让我优化,太紧张没想出来,然后让我写代码,就写一开始想的这个
10min看着我写,金价紧张,最后一边写一边想最后把优化的方法写出来了(中间还想了会)
问我有什么想问的,我就问了测试开发还要掌握什么技能?
反问
完了就说结束今天的面试了。凉了
总的来说,好多准备的基础知识都没问到,问的都是很细节的东西,会一直深问,问到答不出来为止。
已经尽力的答每一个问题了,有的是太紧张忘了,有的是真的不知道,只能说下次加油吧。这也是我第一个面试,真的是紧张到头脑一片空白。
全部评论
(4) 回帖