面试公司:深信服科技股份有限公司
面试岗位:Java开发
一面:视频面 (40min)
·简单的问实习,做过什么项目,实现了哪些功能?
·Spring Bean的生命周期?
·Spring容器每次启动的时候,都会触发每个bean的实例化吗?单例作用域和原型作用域的区别?
·如果要给每个bean都加一个字段属性,如何实现?
·Mybatis的一级缓存和二级缓存,二级缓存有什么缺点?
·讲讲HashMap、ConcurrentHashMap、Hashtable
·jdk1.8为什么引进红黑树而不用其它的平衡二叉树?
·怎么对一个Map集合进行遍历,这样遍历有什么好处?
·Map有迭代器吗?Collection是Map的父接口吗?
·讲一讲jvm的内存模型
·讲一讲新生代的内存划分以及新生代和老年代的垃圾回收
·典型的新生代和老年代垃圾收集器分别有哪些,他们是如何配合工作的,STW指的是?
·TCP三次握手,为什么两次握手不行?
·jdk1.8流式编程有什么优缺点?
·反问
二面:视频面 (30min)
·先是简单问了项目,然后是3道编程题,第一道是分析代码输出结果,第二道是链表的反转,第三道是判断两个链表是否相交(要求使用最快的方法,并且不能借助额外的空间)
三面:视频面(40min)
全程是问实习和项目的一些问题,还问到了操作系统,比如针对我项目中遇到的一个并发问题,让我解释一下操作系统层面涉及的知识,包括进程通讯的几种方式以及死锁的相关知识,基础的话问到了CAS机制,以及Lambda表达式,让我举一个lambda表达式的例子
HR面:线下面(30min)
·为什么选择深信服?
·通过什么渠道了解到深信服?
·选择一家公司,你会从哪些点进行考虑?
·根据上一个问题回答的几个点,说说你心目中满足你这些条件的三个公司排序?
·为什么不选择考研?
·你的职业发展规划是?
·哪里人?以后的工作地点只考虑广深吗?
·父母对你的期望是?
·期望薪资?



