深信服一面面经(base长沙)
岗位:大数据研发工程师
1、自我介绍
2、研究生研究方向
3、关于项目(选一个最熟悉的)
3.1、全部完成了吗?实现了哪些功能,怎么实现的
3.2、有一个字段的唯一性验证是怎么做的,这个字段在数据库怎么设计(唯一性约束)
3.3、后续考虑怎么优化?
4、有一个自定义的User类,能否用作HashMap的key?
4.1、为什么要重写hashCode和equals方法?不重写有什么弊端?
4.2、HashMap怎么解决碰撞冲突?(链表转红黑树)
4.3、除了HashMap本身,还可以想到哪些解决碰撞冲突的方法?(没想出来...)
5、手撕代码:用数组写一个队列,实现push和poll操作
5.1、扩展:循环队列如何判定为满?(我说留一个位置;此外还可以设计一个标志,push的时候设为true,poll的时候设为false。当head==tail时根据此标志判定是满还是空;还可以保存当前已添加元素个数,以此做判断(后两个没想出来--))