最近去面试了几家的测开,记录一些问到的面试题:
Java:
- 类的加载机制以及类的生命周期(快手)
- Java垃圾回收机制;(快手,美团)
- 手写二叉树的前序遍历,多叉数的层序遍历用什么数据结构?(快手)
- 手写冒泡排序(华为)
- 给出两个有序的整数数组 A和B ,请将数组 B合并到数组 A中,变成一个有序的数组(百度)
- 查找字符串中的最长回文子串(美团)
- 输入数组:[0,1,2,3,5,6,8] ==>输出数组:[“0->3”,”5->6”,”8”](天眼查)
- 数组和链表区别
- 多线程的死锁和同步方法
- Java反射机制(经常考)
- stack over flow和OOM
- Java线程共享什么?(堆和方法区)
- 输出文章里重复的单词及其个数;
- 再就是一些LeetCode简单难度的题目;
数据库:
- 索引优缺点
- 乐观锁和悲观锁
- 查询所有平均分大于60分的学生姓名
- 查询所有分数都大于80分的学生姓名(group by这类很常问)
- left join查询
- delete和drop区别
- 对分布式数据库的理解
- SQL优化
linux:
- 修改文件权限chmod和chown
- 查看服务器性能表现命令,越多越好(top,sar,free,iostat,vmstat等等)
- less和more区别(这没营养的问题现在还有人问)
- 查看日志命令,越多越好(less,more,tail,head,cat…)
- 统计目录下文件个数
- awk相关,但是这个其实不太重要
先写这么多吧,有时间再补,这篇已经拖了好久了。。。