最近参加了京东的面试,岗位是Java开发,同时参加了58到家的面试,简单整理一下.
58到家面试:
一轮电话面试,三轮技术面试,之后是HR聊了聊谈薪资.
具体问题如下:
多线程
- 锁的分类(重入锁,读写锁,排他锁,共享锁)
- 分布式锁
- Redis 实现分布式锁
- zookeeper 实现分布式锁
- 线程池(参数,线程创建过程,拒绝策略), 实际应用
- 线程安全的集合
- synchronize和 volatile
数据库
SQL调优
索引B+树
数据结构
- 计算一个long类型数是否是2的整数次幂
- 一个数组中得到 所有和未1000 的 数
- 一个字符串中 获取第一个出现一次的 字符.
- hashmap,linkedhashmap,
- hashset
框架
项目整体架构图画一下
aop 动态代理实现 两种, 区别
Linux
常用命令
如果线上出现500 错误如何排查 过程
京东:
框架
- IOC
- aop
- mybatis 缓存
- zookeeper选举
- zookeeper 应用
JVM
jvm分区
分布式
分布式系统注意什么
分布式锁
redis
负载均衡策略
不用锁怎么保证高并发线程安全
happend before 解释synchronize
设计模式 观察者模式 单例模式
消息队列
jmm模型