算法 和java
1.hashmap怎么实现的
2.hashmap拉链怎么优化
3.Java自定义对象在使用HashMap时要使用两个方法,是哪两个方法
4.hashCode()和equals()在HashMap中是怎么用的
业务上实现hashCode()会有哪些考虑? 我回答的不好,只说了考虑根据对象特点设计hashCode()防止数据倾斜,没说这个函数要快和如果equals相同hashcode也要相同
5.HashMap是怎么扩容的
6.HashMap数组长度扩充为2倍是怎么移动的
7.栈和队列的概念 如何用两个栈实现一个队列
8.快速 排序 说一下,时间复杂度,具体的一次递归partition的过程
9.快速 排序 是稳定的吗?业务上什么时候要求一个 排序 稳定 我想到了类似kafka这种消息队列,原来的数据有一个时间的顺序,数据里面有分值,按分值 排序 也不想打乱原有时间顺序
操作系统
进程与线程的区别
线程会共享哪些资源 只回答了JMM的 应该还要学一下linux的
JMM里面线程共享和独占的资源有哪些
JAVA堆区和方法区放了什么
JAVA除了堆区方法区还有其他什么区
讲一下一个函数在栈里面的执行过程
Linux命令,看内存和cpu(top) 查看某个端口的连接(netstat|grep) 看一个返回有多少行(wc 没答上来) 磁盘空间占用情况(df du 没答上来)
MySql
Innodb和Mysaim的区别
聚簇索引和非聚簇索引,有什么好处
explain做了什么
MVCC简单的原理,为了解决什么问题,MVCC的好处
JVM
Java GC怎么确认对象是否要回收
可达分析根节点都是哪些东西
Java双亲委派模式
有哪些应用会破坏双亲委派模式?回答了tomcat,但没回答上来为什么
反问
二面 7月18 14:00 45分钟
上来还是先自我介绍,然后面试官说你之前一面写了代码,就不写了吧,一脸懵逼…
没有成套的问题,都是琐碎的东西
红黑树 和AVL树了解吗,对比一下
skiplist介绍一下,怎么实现, redis 里面的skiplist和传统的skiplist有什么区别(只答上来了双向和有序集合还用了hash的结构,其实还有key score的区别)
Mysql里面B+索引和hash索引对比(之前没看,只能往hash的优缺点扯,不知道什么时候用hash索引)
ping用到了什么协议,属于哪一层的协议,ping能ping ip,能不能知道ip某个端口能不能访问
https介绍,证书到底怎么防止中间人攻击的(前两天看了逻辑还是讲的不清楚,里面涉及的密钥太多了,面试官让捋清楚)
给一个二进制数,转十进制,16进制,32进制
常用的中文编码你知道吗,我们网站有泰语你认为应该用哪个(不知道,只说了utf-8),utf-8是定长还是变长(没看,只记得是3个字节,错了)
扔一个骰子N次,出现1-6的点,用最少的字节保存这N次的结果(其实是想问变长编码,奈何没看过,跪)
给你三个版本号 v2.0.1 v2.1.4 v2.8.9 怎么用linux正则匹配这几个版本号
chmod 755代表什么
你和某个团队合作,你调他的接口有问题,导致你的接口有问题,业务方找你,该怎么处理?
如果你找另一个团队的人说有问题,他不改你怎么办
讲一下你之前实习最难的一个任务
反问结束
HR面 7月20号 25分钟
上来先自我介绍
你成绩不错,还做了几段实习,怎么保证同时balance这些东西
你对虾皮的了解是怎么样的
对比其他家你觉得虾皮对你的优势在哪
你觉的自己的优势是什么 讲个具体的例子
你在上海上学,为什么要来深圳
有其他offer吗
能提前来实习吗
家在哪里
平时有什么爱好
有参加过什么学生组织担任过里面的什么职位
期望薪资
反问结束