7月20号下午3点到4点10分左右,面试分两部分,他问我答和一道算法题(在飞书网页版上面试的,写算法题的时候是用共享屏幕的方式,在本地IDE写的,我写了一段时间后面试官表示没有共享屏幕成功,然后我重新共享了一下,他表示看得到了,接着我就专心写代码,等我写完一看,面试连接已经断了🙃🙃🙃,然后我找到邮件里的hr的练习方式,加了hr微信后,hr让我把写好的代码发给她,过了一会告诉我面试结束了🙃🙃🙃)
1、java创建多线程的方式
2、hashmap的get方法时间复杂度是多少,我说在O(1),他问我确定吗,我想到哈希冲突,就说后面会转为链表、红黑树之类的,反正会小于O(n) 然后问我为什么,(他想让我说pos=(n-1)&hash 但我没记住这个。。)红黑树的优势,红黑树的查找 时间复杂度.hashmap如何扩容,扩容后的元素地址,(我说是2倍扩容,他问我为什么是2倍,我扯了位运算和二进制。。不知道是不是对了没有。。)
hashmap是否线程安全,我回答不安全,然后就被追问不安全体现在什么地方,会发生什么。
3、tcp和udp的区别,tcp为什么可靠,如何保证可靠,聊聊滑动窗口
4、tcp的三次握手和四次挥手过程。tcp的第二次握手可不可以带数据。(我竟然说可以),然后他告诉我不可以,然后问我为什么不可以。。四次挥手的二三次挥手可不可以合并,为什么不能。第四次挥手后客户端的状态。是否可以立刻关闭,为什么不能立刻关闭。
5、String a = “abc” 和 String a = new String(“abc”) 的区别。前者一定会创建对象吗
6、线程之间是如何通信的
7、进程之间是如何通信的,谈谈管道通信。
8、cpu如何完成a = a+1 操作(数据在硬盘,最后要存回硬盘)
9、两个进程要用到同一个变量,如何保证线程安全,我说了volatile,然后volatile的作用。
10、多核cpu的内存共享吗,然后好像是说每个cpu有一个独立内存区域,和一个共享内存区域,然后如果两个cpu的独立内存区域都有一个变量a副本,第一个cpu计算后更改了变量a,第二个cpu的a值会使最新的吗,如何保证最新。(我这里忘了立刻写回那一块了)
11、联合索引a,b,c, 如果查找是写where a= ?,b=? 会发生什么,where b = ?和 c = ? 呢 where a = ? 和 c= ?呢,不走索引的原因
12、数据库的存储数据结构,索引的类型。
13、一张年龄和用户id的表,查找哪个年龄的人最多
14、算法题,给定一个int数组,找出这个数组中重复次数第二多的数
暂时就想到这么多
全部评论
(10) 回帖