面经 | 三年经验,面试大厂java后端经验总结
最近打算换工作,对面是经验做一些总结,今后也是打算开启博客总结自己工作中遇到的一些问题分享给大家,算是一个开始吧!先说下整体面试下来的一些感受:
1. java基础知识真的要扎实,面试准备阶段不像考试有题可压,任何一个问题都有可能都会问到,所以,对自己负责,欺骗自己等于拿自己的事业开玩笑。
2.大部分的面试官不是真的要问倒你,他们只是想看看你的解决思路和套路是否能够灵活多变,问到一个你不知道,你就说不知道了,那这个还怎么继续。所有的问题都有相通性,找到相似的场景扩展自己的思路。
3.深入浅出!大部分的面试官都喜欢刨根接地的问,从简单的应用到底层原理再到某一个点,不要仅仅是知道了解,要有一定深度的学习
一面:
hashMap原理,put和resize过程
线程池有哪些类型,
concurrentHashMap分段锁原理,java8和java7实现的区别
B-树和B+树区别,数据库索引原理,组合索引怎么使用?最左匹配的原理
二面:
1.项目介绍
2.斐波拉契数列非递归实现
三面:
HR+主管
一面:
自我介绍,做的项目价值,架构设计,给你一个集群你会怎么分布,考虑哪些因素,容灾、负载均衡
让你来设计咸鱼,你会怎么设计?模型设计
二面:
算法在线编程
项目,主要做了什么,项目中碰到的问题有哪些,都市怎么解决?你觉得那个项目是最有挑战的
java多线程,线程池的选型,为什么要选这个,底层实现原理
三面:
你最熟悉的项目,做了什么,为什么这么做,怎么体现你项目的价值
让你来推广广告,你会怎么设计?
java基础问了些,JVM内存模型 G1和CMS垃圾回收器
如何中断线程,await和sleep区别
设计一个秒杀系统
四面:
跟上面差不多
五面:
主管面,主要问项目,然后说下他们在做什么
六面HR:
期望薪资,为什么要离职,现在的级别,会考北京的原因
一面:
RPC原理,netty原理
hashMap原理
redis缓存回收机制,准备同步,哨兵机制
要统计10分钟内订单的亏损,你会怎么设计(strom窗口模式)
二面:
分布式缓存redis原理,zookeeper锁是如何实现的
分布式缓存读写不一致问题
java线程你是怎么使用的
数据库是如何调优的
git rebase命令发生了什么
薪资,为什么要离开,级别
一面:
说你最熟悉的项目
薪资级别,你是怎么抗压的,平时喜欢做什么,对加班什么看法
你自己做的项目,怎么设计的
零零碎碎的比较多,整体上面试分为几个部分:
1. java基础知识和源码
2.线程池,这个每个面试都必问,结合使用场景和原理说一说
3.分布式必要要去了解,每个面试基本都会问,redis、dubbo、kafka或者其他,集群管理zookeeper
4.数据库性能调优,组合索引和原理也是必问
5.业务设计能力和架构negligence考察
推荐书籍:
高性能mysql
mysql技术内幕
redis设计与实现
effect java
spring技术内幕
设计模式
netty实战
java并发编程实战
后台回复【面试题】领取哦
推荐阅读:
升职加薪 就来咕泡学院
欢迎加入研习社专属福利群
享受福利第一时间送达的特权