Java研发岗位,一天之内,三面全部过完,就是不知道结果如何。
约的9点一面
- 自我介绍。
- 三道编程题(可用在线工具写或IDEA写)
题目:快排、股票最大利润、两个数的和;快排和最大利润没啥说的,两个数的和会问你还有没有其他方法,例如:哈希值计算,主要想问你最优方法。 - 操作系统的进程和线程的状态,进程和线程的区别。
- 希尔排序的原理。
- MySQL事物的隔离级别,事物引发的问题,幻读与不可重复读的区别。
- MySQL解决事物问题的操作,MVCC添加版本号。
- MySQL读锁和写锁,功能。这里问道平常有没有使用过读写锁,我说用得少,他就说一般用的是互斥锁是吧,我说是的。
面试官说差不多就到这,他说他的个人感觉还是可以。等通知。过了半个多小时左右,通知二面。
二面
忘记问的顺序了
自我介绍
编程题(二叉树中序遍历,数组奇数偶数排序)
线程安全问题
synchronize和voiltail区别,解决什么问题,synchronize的实现
HTTPS和HTTP的区别,然后HTTPS使用的过程(客户端和服务器端如何构建连接)
网络安全问题(问有没有了解一些算法)
问了currenthashmap为什么是线程安全的,我又补充了hashmap的put操作流程和为什么不安全,107会造成死循环问题的原因
项目的实现和功能
具体还有什么不记得了,大部分在这。
下午两点通知三面
自我介绍
项目
编程题:二叉树非递归后续遍历,线程题,只有左节点的二叉树的遍历优化;都是在说思路。
问了下有无考研打算
是否能来实习
家是哪里的,是否能加班
感觉主要是在看你的逻辑思维如何
最后说了句,这就是最后一面了,后面等通知