面试比较困难,轮数比较多

面试职位:Java 的面试

之前我一直都是在传统行业里工作,项目中一直用的是写了好多年的老项目,一直在维护之前的代码,不会有大改动,加班也很少,一直呆在舒适区里,导致自己很难保持学习的状态,有的时候需要逼自己一把,强迫自己从舒适区中跳出来,认真踏实提升自己。刚开始面试确实挺难,尤其今年,但是即使一直没有收到offer,但是还是需要给自己信心,静下心来,总结失败经验,补足自己的知识短板,相信自己一定可以的。Jdk有些面试官会直接问讲一下java的集合类,一般都会问到ArrayList,LinkedList的区别,主要答存储结构,增删改查效率Set会问到hashSet,treeSet,以及Set和map的区别,list和set的区别Map会问到HashMap,TreeMap,HashTable的区别HashMap会问到底层数据结构,以及解决hash碰撞的方法,Hashmap底层涉及到红黑树,有些面试官会让解释一下红黑树集合类怎么解决高并发问题,队列的使用问题,也有问到Exception的类型的,有的面试官会问到自定义异常的问题Object类中的方法。我们用的是jdk1.8,有的面试官会问到1.8的新特性笔试题会问到通过一段程序,写出打印语句Spring很多。面试官会问到spring的底层代码,一般会问到bean的生命周期,有些会问到循环引用问题,以及spring中用到的设计模式解释一下spring,springMVC,springBoot,说一下spring和springBoot的区别,spring的AOPspring的事务是如何回滚的Jvmjvm内存模型,以及这些空间都存放什么东西堆内存划分的空间,如何回收这些内存对象,有哪些回收算法jvm调优,如何解决线上gc问题class初始化过程内存溢出的原因,如何排查线上问题jvm有哪些垃圾回收器,少部分公司会让解释一下某个垃圾回收器,一般都是cms往后的类加载模型Mybatis和hibernate的区别mybatis的缓存,都缓存些什么,session缓存存在哪mybatis的执行流程,需要了解源码mybatis防止sql注入,jdbc防止sql注入多线程多线程之间是如何通信的synchronized底层实现,和lock的区别synchronized关键字加在静态方法和实例方法的区别。有的面试官会出一些题,让判断是否会发生争夺锁问题稍大点的厂会出面试题,涉及到countdownlatch的用法线程池的用法,Executor提供了几种线程池,大厂会问到线程池的参数,参数说明,拒绝策略有哪几种也需要说一下,任务放置的顺序过程,任务结束后会不会回收线程,未使用的线程池中的线程放在哪里,线程池线程存在哪,cache线程池会不会销毁核心线程等问题。MySqlMysql的索引类型,底层索引数据结构,用这个的好处,叶子节点存储的是什么,索引失效的原因如何优化sql,查询计划的结果中看哪些些关键数据,innodb和myisam的区别,mysql默认隔离级别,mysql的乐观锁和悲观锁,锁的种类,如何用sql实现乐观锁和悲观锁。mysql如何分库分表Redis几乎所有公司都用到redis,redis的问题还是比较多,redis的数据结构类型,一般都用在什么场景下sortedSet的底层数据结构利用redis实现分布式锁,redis使用单线程的好处,redis中如何控制多线程并发,redis删除key的策略redis的主动缓存,被动缓存如何保证数据一致性问题集群环境下如何处理,解释一下一致性哈希解释一下缓存击穿,缓存穿透,缓存雪崩,如何解决这些问题MQmq的结构图,交换机的种类,如何保证消费者是否消费,ack返回的种类请求过程服务宕机如何处理,钱已经转出,消费端服务处理不了,一般公司都会用到kafka分布式事务如何实现SpringCloudSpringCloud和dubbo的区别,项目中用到了哪些组件eureka的原理,如何保证高可用性,和Zookeeper有什么区别。feign如何调用的处理生产环境上配置生效问题hystrix的降级策略,有哪些Dubbo底层如何实现,画一下dubbo的架构图可能我项目中没用到dubbo,问的相关问题比较少设计模式问的比较多的是单例模式,需要了解每种写法项目中用到哪些设计模式,讲一下为什么要用,怎么用的?其他一些少部分公司会问到的多数据源问题Tomcat启动原理http协议zookeeper 如何保证可用性接口加密问题epoll模型方法缓存是什么数据库路由自己实现(dubbo)如何调用远程服务的接口。 ...

面试结果: 未通过

面试难度: 困难

面试感受: 不好

内推,算电话面试总共经历四面,最后没有拿到offer。

面试职位:研发工程师 的面试

美团喜欢让去公司面谈,对外地的学生很坑。 电面,聊了聊自己做的项目,基于遗传算法的车间调度系统的设计与实现和CSDN博客备份系统,聊的挺好,估计面试官也看了我简历上写的博客,估计挺满意的。说是按我上面写的面试应该问题不大,8月初的时候属于内推,时间点比较尴尬,建议我走校招,但我还是想去谈谈,毕竟是一次机会嘛。 二面,聊技术,也是我中国科学院大学的,手写atoi,单例模式,Linux命令,常用的类,源码阅读,软件工程等等,感觉答的也挺好的。 三面,team leader,手写生产者消费者模式,手写范围覆盖,都没写出来,哎哎哎。然后给个实际的应用场景,多线程,多进程,通信。光着一个场景差不多问了半个小时。感觉我基础还行,但不会写代码也是个事啊,脑抽啊,其实是可以写出来的,只是写的慢,面试官面前不容易写而已,我去,跟总监讨论了下,说是确实不能发offer,欢迎随时来实习。随时来实习,实习。 十天后,逢美团内推,又推了一次,team leader让过来跟总监谈谈,就我的项目跟总监谈了40分钟左右,主要是多线程,给我设置相应的场景,让我发挥,可能发挥不太好吧,让我回去等通知,然后就没有然后了。 四面,最后没有拿到offer,美团真的很喜欢手撕代码啊,亲们,想进美团,从手撕代码开始吧! ...

面试结果: 未通过

面试难度: 困难

面试感受: 很好

微信扫码下载

看准APP