bg:投的后端java岗,无实习,笔试a了不到两道,项目是toy project,准备了一个多月的算法+八股tl:到店一面 3.28到店二面 4.2进入人才库 4.9 当天复活骑行一面 4.11骑行二面 4.15oc 4.16==============面经==============到店一面 1h[赞]自我介绍介绍一下项目的功能和模块、承担了什么角色、数据库的表怎么设计的1、重载重写的区别?2、重写equals的时候为什么必须要重写hashcode?3、arraylist和linkedlist的区别?4、vector是如何实现线程安全的?(这个在之前背的八股里都没遇到,Vector 的方法都具有 synchronized 关键字修饰。但对于复合操作,Vector 仍然需要进行同步处理。)5、hashmap的底层数据结构?(把数组+链表说成哈希表+链表了,纯猪脑)6、hashmap放入一个元素的过程?7、ConcurrentHashMap是如何实现线程安全的?8、synchronized 和 reentrantlock 的区别?9、reentrantlock 如何实现公平锁?10、synchronized加在静态方法和非静态方法方法上的区别?11、synchronized的锁升级过程?12、单例模式有哪些实现方式?(只了解饿汉式和懒汉式)13、饿汉式如何保证线程安全?(胡言乱语...)14、线程池的核心参数?15、线程池拒绝策略有哪些?16、当来了一个任务线程池如何处理?17、受检异常与非受检异常的区别?18、有哪些非受检异常?(nullpointer,illegalargument记不清了,汗颜,太细了)19、spring和springboot的区别?为什么要基于spring再封装出springboot?20、springboot常用的注解?21、涉及到依赖注解的注解?22、@aotuwired和@resource的区别?23、@inject的使用场景?24、springboot快速启动的原理?25、AOP的原理?26、动态代理的分类?(jdk proxy,cglib)27、jdk proxy和cglib分别在什么场景使用?(代不代理接口)28、springboot 声明bean的注解?29、循环依赖?30、springboot怎么解决循环依赖?31、三级缓存?32、每一级缓存的作用?33、springbean的生命周期?34、springbean 初始化及实例化时可以扩展的地方(postprocessor等orz)35、缓存穿透和缓存雪崩的定义和解决方法?36、布隆过滤器的原理?37、布隆过滤器的误判概率受什么影响?38、mysql 事务隔离级别?39、可重复读是如何实现的?40、MVCC41、当前读和快照读的区别?42、分析一条sql语句的索引使用情况43、索引的数据结构?44、为什么索引不使用b树?45、jvm内存区域?46、threadlocal原理?47、theradloalmap如何解决哈希冲突?算法 lc92到店二面 40min[赞]项目挑战点、问题1、为什么用redis不用本地缓存?2、redis 快有什么原因?3、了解过redis集群吗?4、redis渐进式hash?5、线程安全的懒汉式单例模式的性能问题?6、mysql索引结构是什么?7、为什么要用b+树?8、b+树相对于b树的优点?9、where a is null 会使用到索引吗?10、mvcc11、快照如何实现的?12、可重复读无法解决幻读的场景?13、介绍当前读?14、行级锁怎么解决当前读的幻读的问题?15、线程池的工作流程?16、线程池线程复用的原理?17、线程池核心线程数、最大线程数怎么设置?18、http请求 get和post的区别?19、幂等性?算法 合理ip地址最近看了什么书吗?如何学习新鲜的知识点?骑行一面 40min[赞]项目拷打1、主从复制如何实现的2、主从复制的同步方式3、问了一些项目的问题4、string可以被继承吗?5、string的定义方式(直接赋值和new String)及区别6、string常用方法7、string的tostring如何实现?(直接return this;)8、hashmap用string做key的好处?9、string stringbuffer stringbuilder的区别10、== 和 equals的区别?11、integer 赋值的方法的区别?12、java集合的特点13、hashmap的底层原理14、hashmap扩容算法?(扩容机制)15、arraylist和linkedlist的区别16、set如何实现元素不重复(底层用的hashmap可以去重)17、索引类型18、如何优化一个sql19、如何分析是否命中索引 (explain命令)20、redis优点21、redis为什么快22、redis数据类型23、RDB、AOF的优缺点(RDB 优点是数据恢复速度快,但是快照的频率不好把握。频率太低,丢失的数据就会比较多,频率太高,就会影响性能。AOF 优点是丢失数据少,但是数据恢复不快。)24、redis过期删除策略25、缓存穿透、缓存雪崩、缓存击穿26、java异常27、springboot控制反转和依赖注入28、springboot三级缓存手撕单例模式和二分查找骑行二面 50min[赞]1、arraylist、linkedlist的区别2、为什么要用spring框架3、aop的底层原理4、过滤器的底层原理(责任链模式)5、mybatis框架解决了哪些问题?6、mybatis-plus 如何访问数据库7、#和$的区别8、full gc 和 yong gc9、垃圾回收器10、cms和g1的区别11、设计模式12、如何创建索引13、索引创建了一定起作用吗?14、如何查看索引是否生效(explain命令)15、慢查询(>100ms 算作慢查询)16、线程池的使用场景17、线程池的优势18、线程池与aqs19、如何评估访问量(qps)20、redis的数据结构21、spring cache 注解失效场景题==============总结==============美团是面试体验最好的厂,每个面试官都是
点赞 54
评论 17
全部评论

相关推荐

10-24 11:10
山西大学 Java
若梦难了:哥们,面试挂是很正常的。我大中厂终面挂,加起来快10次了,继续努力吧。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务