金山WPS java工程师面经(半年经验)
一面:
介绍简历的项目
熟悉Redis 是吧? 怎么用的,用的什么那种类型的数据结构,只有字符串。。 Redis 只用来做缓存?
用过哪些缓存Redis 怎么实现分布式锁的?
过期时间怎么设置?缓存穿透场景
常用的数据结构哪些
说HashMap,ConcurrentHashMap
说下IOC, AOP AOP 是用来干嘛的,
服务器被一个客户端的进程创建大量连接,怎么排查
Nginx 怎么用的
Zookeeper 用过吗,
用过哪些分布式的东西
重写重载区别;
锁(synchronized 和 Lock),synchronized 加到普通方法和静态方法的区别,一个类的两个 方法都加了 synchronized,是一个锁还是两个锁;
线程池及参数,maximumSize 怎么达到;
怎样理解线程安全;
ThreadLocal 用过吗?讲一下用处和实现;
用过原子类吗?答AtomicInteger,问它的原理;
二面:
讲下SpringMVC 的请求流程
ArrayList 和 LinkedList ConcurrentHashMap 的优化点,性能怎么样,
多读的场景是怎么优化的,感觉讲的不够好,
关于JVM 类加载器机制;
怎么理解面向对象;
get 和 post 区别; IOC 原理; 反射原理是什么应用有什么;
bean 生命周期; 二叉树的前序中序后序遍历;
会哪些算法,讲了下快排的原理;集合类讲一下,ArrayList 和 LinkedList 区别,是否线程安全,有哪些线程安全的 List,HashMap 底层实现;
session 和 cookie 的区别; NIO 知道吗?(只知道是非阻塞的 IO);
tcp 三次握手;
Java 内存分配,HotSpot 中的持久代指的是哪个分区,堆的分区,什么情况下 OutOfMemory, 对象从产生到消亡的过程;
异常的分类,你遇到的运行时异常;JDK 动态***和 Spring 的动态***; volitile;
事务隔离级别;
mysql 行锁和列锁,mysql 索引类型;
redis 支持的数据类型,redis 持久化;