笔试:25道408 + 2道编程
1. 给两个字符串a和b,求按照字典序比较,在a和b之间的字符串的数量。例:字符串a为“az”,字符串b为“bb”,他们之间的字符串只有“ba”,输出为1.思路:类似26进制减法。
2. 给一个字符串,可以任意调整排列顺序,求最多的回文子串的数量。例:“abca”,可以调整为“abac”,回文子串依次有a、b、a、c和aba,共5种。
一面
1. 自我介绍
2. JVM 内存结构;堆和栈的区别;双亲委派机制;方法区的作用;
3. 垃圾回收 常见回收算法;垃圾识别算法;
4. MySQL ACID;三大范式;隔离级别;常见索引以及唯一索引如何实现不可重复;索引的数据结构;锁的分类;如何判断一棵二叉树是否唯一;update加锁后是否可以读;
5. JavaSE String、StringBuilder、StringBuffer的区别;抽象类和接口的区别;接口的成员变量和方法的访问权限;HashMap如何处理哈希冲突;常见哈希冲突解决方法;常见线程安全的集合;深拷贝和浅拷贝;内部类呢能否访问外部类的私有变量;
6. 操作系统 进程通信的方式;
7. 项目介绍已经如何设计一个秒杀场景;
8. 算法:判断链表是否存在环;
反问:公司业务和面试结果。
太菜了,有些会的没答出来。