Java程序员:对不起,是我不配进你们阿里了,面试简直心态爆炸
秋招陆陆续续开始了......
最近在跟群里的读者交流,有一个兄弟的经历让我记忆犹新:
上个月参加了大学同学聚会,和几个在BAT的同学聊了聊技术,发现自己在创业公司的这三年,完全没有精进什么技术,反而一直是在吃老本的状态,突然感慨,都是一样的起步点,三年过后原来人与人之间的差距可以这么大....
其实他最近面试了阿里,备受打击,面试官问了很多问题,一大半的问题我都是一知半解,能回答上的几个都是支支吾吾的回答,特别没有底气。
正好我也问了他这次面试都问了些什么问题,跟大家分享一下吧:
蚂蚁中间件一面
- 自我介绍
- JVM垃圾回收算法和垃圾回收器有哪些,最新的JDK采用什么算法?
- 新生代和老年代的回收机制
- 说说反射的用途及实现
- HTTP 请求的 GET 与 POST 方式的区别
- Arraylist 与 LinkedList 区别
- HashMap 的工作原理及代码实现
- 说说 CountDownLatch 原理
- ThreadLocal 原理分析
- 讲讲线程池的实现原理
- 乐观锁的业务场景及实现方式
- synchronized 与 lock 的区别
- Java中的多线程,以及线程池的增长策略和拒绝策略了解吗?
- Tomcat的类加载器了解吗?
- Spring的ioc和aop,Springmvc的基本架构,请求流程
- Java的网络编程,讲讲NIO的实现方式,与BIO的区别,以及介绍常用的NIO框架
一面主要问了一些Java基础知识、JVM、集合、线程等等,这部分准备比较充分,因此面下来的感觉还是挺好的。
蚂蚁中间件二面
- 线程池的几种方式与使用场景
- 你在项目中怎么用到并发的?
- 消息队列的使用场景,谈谈Kafka
- Dubbo和Spring Clound的区别,以及使用场景
- 讲一下docker的实现原理,以及与JVM的区别
- MongoDB、Redis和Memcached的应用场景,各自优势
- MongoDB有事务吗?
- 说说分库与分表设计
- Redis 内存淘汰机制
- Redis 集群方案与实现
- 消息的堆积解决思路
- 请列举出在 JDK 中几个常用的设计模式?
- Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式
- 在 Java 中,什么时候用重载,什么时候用重写?
- 谈下你对 Zookeeper 的认识?
- RabbitMQ 中的 broker 是指什么?cluster 又是指什么?
- 假设服务器经常宕机,你从哪些方面去排查问题?
在这一面基本上是凉了,主要是之前工作经验太少了,自己技术储备也比较浅薄,但是关键是最后居然还问了我一个设计相关的问题,我当时真的心态爆炸了,整个人都是懵逼的....
后话
面试完后,他觉得自己在技术上欠了很多债,最惨的莫过于在这之前他根本不知道。也正是因为他的事情才有了今天这篇文章,很多工作了1—3年的Java的人,想够一下3w月薪的岗位,但在底层技术以及基础上有很大的问题:
你可能毕业几年后,表面上使用过很多技术,但都没有深入学习过,说直白点就是会用,但是不知道为什么要用,不知道其原理,遇到实际问题无从下手。
都说三年是一个程序员的坎,能否晋升或者提高自己的核心竞争力,这几年的努力显得尤为关键。
最后
现在秋招陆陆续续的开始了,其实秋招的招聘难度是大于春招的,有许多读者也在问我要一些最新的面试真题,我也收集了很多读者以及其他的优质面经,整理成了pdf,分享给粉丝朋友,只需要转发+关注,然后点击这里:https://docs.qq.com/doc/DWFdDS3JZZ1F4TmZU即可获取免费领取方式!
系统技术分类系列
JVM、MySQL、Mybatis、MongoDB、Redis、Spring、Spring boot、Spring cloud等等