有些我记不清了,大概记得的就这些
一面:
1.给了一道编程题,从方格中的某一点怎么去到另外的点,有多少种走法
2.数据库联合索引,比如用的是A_B_C,给出几种场景,问在搜索的时候会什么时候会用到索引,讲讲一般怎么对数据库进行优化和explain的用法
3 Integer t = null; int m=t; System.out.println(t) 其实考的是拆箱和装箱,再编译阶段是把字节码加进去,真正进行拆装箱的对坐还是再运行上
4.error和Exception区别 列举几个常见的错误
二面:
1.死怼虚拟机,新生代和老年代的区别究竟是什么?垃圾回收器的算法有哪些?垃圾回收期的名字有哪些?stop-the-world究竟干嘛啦
2.数据库的索引为什么用树,对数据库有没有什么了解
3.说说集合有哪几种?hashSet的底层是什么?它不安全再哪里?hashmap为什么不安全?(一定要把那2中情况说清楚,环出现了会有什么后果)?如果让你来做,怎么在不加锁的前提下保证它的安全??
4.JMQ是怎么保证我一定会收到别人发的消息
5.nio和aio的区别,一定要知道的很清楚,所有的细节
6.new一个线程池的参数
7.2个同步shopId让我来做同步怎么同步
8.1000000个数,找K个最大
9.快速排序
10.spring涉及到的设计模式
三面:
1.了解分布式锁吗,知道怎么用吗
2.知道项目中用到的远程框架它是怎么报警的,比如它怎么能在web页面进行监控,数据怎么上去的,,worker的底层吗,zooker是个什么东西,elastic是个啥
3.平常怎么进行mysql的优化
4.还出了一个概率题,比较简单,我就不说了
5.string是在新生代还是老年代还是永久代,用的虚拟机是什么版本的
6.2个同步shopId让我来做同步怎么同步
7.ibatis和mybatis的不同
8.redis的2中持久化方式
9.除了jsf还了解什么远程框架,说说对比
记小米面试(感觉小米面的很宏观):
一面:
1.怎么学习redis的(学习一门技术的方法)
1.redis是什么
2,为什么要用redis,使用场景
3.redis相对于其他类似产品的亮点
2.mysql中varchar和char的区别,如果把一个int类型的数据存储中一个varchar,有什么影响
3.arraylist和linkedlist的区别,各自的优缺点
4.单线程和多线程的优缺点
5.mysql加索引和不加索引的优缺点
6.说一下redis的持久化过程
7。如何用一个数组模拟一个栈
8.有几种锁
9.mysql主从复制
记VIPKId
一面:
1.讲项目,有没有想过数据库中存的数据量有多大,一个接口的承受力有多大,调用接口时传的数据量有多大
2.StringBuilder和StringBuffer有什么区别
3.String s = "a"+"b",一共有多少个字符串
4.讲讲arrayList和linkedList区别
5.讲讲cas,乐观所操作
6.threadLocal变量
8.有几种方式减少Hash冲突
1.链表---》红黑树 2.数组扩容 3.K取大一点
二面(问的很基础,答得很混乱,很多东西让自己写写不出来,看能看的明白,还是自己理解不到位!!!)
1.围绕内部类,父类子类静态代码快,无参函数的加载顺序 ,还有内部类和外部类之间成员变量的访问问题
2.java的几个限制访问范围的字段
3.围绕单利模式 这个就对自己很无语了,明明特意看过,还是写的错东错西,没有理解static new
4.给了一个手撕代码,着重考临界值的处理问题,面试官多次强调代码要些规范,他要的是可以直接运行的!!!
记CVTE面试经历:
一面:
1.手撕了一个很简单的代码,求一个字符串中出现次数
2.对jvm有什么了解,吧啦吧啦的说了一堆
3.对多线程有什么了解,又吧啦吧啦的说了一堆
4.对数据库有什么了解,吧啦吧啦的说了一堆,给了一个题:表A 有ID字段 值为1 2 4 表B有ID字段 1 2 3求A相对于B的差集
5.讲了一下项目,又巴拉巴拉巴
二面:
1.首先吧啦吧啦的讲了一通项目,说道校验的问题,面士官问想实现自动配置,要怎么做,先说可以放在配置文件,然后说可以放数据库,又说逻辑代码还是会写死,让继续想
2.单利模式构造函数是Private的,如果用反射把他设置成public,是不是会有危险
记知乎的面试经历:
首先从网络 操作系统 数据结构等等一个模块一个模块的来,反正巨难,由于这一部分过了半年才记,只说一下我记得的:
1.什么是RESTFul风格