商汤Java一面面经
1.Java语言的特点
2.continue、break和return的区别
3.Java基本数据类型以及各自占多少字节
4.接口和抽象类的区别
5.创建线程的方式
6.线程池的原理
7.线程为什么调用start方法而不是直接调用run方法
8.ArrayList和LinkedList区别,是否都支持快速随机访问
9.说说HashMap
10.HashMap是线程安全的吗?有什么线程安全的方法
11.算法题:单词翻转(比如abc->cba),句子逆序(His name is Jack->Jack is name His)
12.字符串拼接的方式(String StringBuilder StringBuffer)
13.用过哪些数据库(MySQL Redis)
14.MySQL事务的特性
15.写一个SQL(找出分数前五的学生姓名)
16.MySQL的索引有哪些类型
17.B+树索引的结构
18.使用索引查询一定会变快吗
19.Spring常见的注解
20.@Transactional是做什么的?是不是加了这个注解事务一定生效?(不知道,面试官提醒涉及到代理可能会失效)
21.ES的原理,为什么会那么快
22.Redis数据类型
23.算法题:只保留首字母和尾字母,中间显示除去首尾字母有多少个数字(如abc->a1c,abcd->a2d)
24.算法题:保留首字母和尾字母,数字保留在首字母后或尾字母前,返回一个字符串列表并分析时间复杂度与空间复杂度(如world->[w3d, w2ld, w1rld, wo2d, wor1d])
25.你用过哪些常见的Linux命令,如果要查看CPU或内存使用情况用什么命令(top),如果要在两台服务器之间拷贝文件用什么命令(scp)
26.反问环节
总的来说还是比较基础的,考察的面很广,但都不难,许愿二面