Hi!请登陆

Java程序员: 对不起, 是我不配进你们阿里了, 面试简直心态爆炸

2020-11-20 36 11/20

最近在跟群里的读者交流,有一个兄弟的经历让我记忆犹新:

上个月参加了大学同学聚会,和几个在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,分享给粉丝朋友,有需要参考的朋友 后台私信我“666”就可以了。

系统技术分类系列

JVM、MySQL、Mybatis、MongoDB、Redis、Spring、Spring boot、Spring cloud等等

相关推荐