人生中的第一次面试
1)上来没有我自我介绍,直接从项目里问起。。。。
2)Http如何提升安全性?明文算法了解过吗?
3)用JAVA多长时间了?
4)什么是反射?什么场景需要反射呢?
5)用JAVA做过并发相关的场景吗?并发的安全问题?
6)Linux里创建线程能有多少个?是无限的吗?线程池的数量是谁定的呢,是什么决定它的数量呢?(我说有内存和各种资源限制,他接着问为什么内存会限制,线程有自己的内存空间吗?)
加锁只能说被安全的修改,但不能阻止修改,那怎么解决?
7)关于集合做过哪些项目吗?哪里用到了集合?Map实现有哪些方式?底层实现是什么?为什么TreeMap底层是红黑树而不是普通的二叉树?(我说考虑到查询的效率问题,他问最差情况下二叉树的时间复杂度?平衡二叉树的时间复杂度)
8)队列了解吗?有一个场景,优先级队列,那怎么实现呢?
9)基本的排序算法?JAVA里的sort是什么排序?
10)二叉树的深度优先搜索和广度优先搜索?如何实现呢?
11)C语言和JAVA有什么区别?为什么char在C语言中是1个字节,在JAVA中是两个字节呢?
12)你在学校期间遇到的最大的困难,怎么解决?
13)之前实习过吗?
14)之前了解过我们业务吗?
15)你对团队如何理解?在公司里面如何看待绩效上的竞争?
总体感觉,不光要刷题,还得理解,然后应用,不会单纯的问某个知识,而是通过你做了什么去挖掘你里面用到的技术,如何改进;
40分钟左右,感觉问的不是很难,还是很基础的,毕竟是电话面试,而且我求职的是java实习生
不知道还有没有后续,不过毕竟是第一次面试,已经很开心了,后续继续努力吧!