渣渣楼主毕业一年多了,算上实习也小两年了,10月份有了离职的想法,先面了两家,心里有底了,果断的提了离职,下面是对自己近两周的面试做的一些总结
面试问到的问题
-
Java 基础
-
String、StringBuffer、StringBuilder区别
-
能继承 String 类吗,为什么?为什么要用 final 修饰
-
集合类 ArrayList、LinkedList、HashMap、HashTable、ConcurrentHashMap 初始数组大小,实现方式,看看源码就行
-
Exception 和 Error 的区别
-
try 语句里面先 return 还是 finally 里面先 return
-
synchronized、lock 区别,性能
-
TCP 三次握手、四次挥手,问了一些 Netty 相关的
-
类加载原理,一般选择题或者填空题让你选择打印顺序
-
内存泄漏、溢出出现场景、原因
-
JVM 内存划分,以及常用 GC 回收算法
-
java设计模式,工厂、代理模式,拿笔要你画出来(然而并不能画出来)
-
平时看啥书,一般通过什么渠道学习新知识,还有问我最新版本的 jdk 是多少
-
-
框架或中间件
-
SpringMVC、Spring、Mybatis 运行流程、实现原理
-
SpringBoot 怎么实现自动配置、怎么引入 Spring 配置文件
-
Dubbo 里有哪些组件,记住官网的那种图就行了,Dubbo 的 RPC 是咋实现的
-
Redis 的数据结构有哪些,过期策略和内存淘汰算法有哪些,有没有用序列化为流的方式进行存储,有没有自己搞过集群安装,有些公司没专门的运维来部署要开发自己弄
-
MemCache 用过没,和 Redis 的区别
-
Redis 实现队列、分布式锁,用过哪些 MQ ,怎么实现防止重发和漏发
-
SpringCloud 有哪些组件,怎么实现微服务的(直接答的不会,本来简历上就没写)
-
-
一些笔试题
-
单例(引导面试官问到 volatile 作用)
-
冒泡排序、快速排序、桶排序。。。实现,它们的时间复杂度
-
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数,要求时间复杂度为 O(N)
-
单链表反转、求二叉树深度(我前面的博客有实现 https://my.oschina.net/u/3917923/blog/2877826)
-
1000万个数中用最小的时间复杂度求出前100个数
-
1000M每行存着数字的文件,用20M内存排好序
-
一些常见的递归
-
-
数据库方面
-
SQL 优化、数据库优化
-
数据库隔离级别、索引的分类
特别的问到了全文索引、聚集索引这些之前不知道的 -
数据库锁,行锁表锁、间隙锁,数据库存储引擎分类、特点及应用场景
-
MySQL、Oracle、SqlServer 分页查询实现
-
存储过程、存储函数
-