迎战金九银十:阿里、京东、美团内推题送给还在迷茫的朋友

从事 Java 开发工作十二年总结

跳槽,对 IT 人来说绝对不是个陌生的词汇,几乎所有人都身体力行过。首先我要强调一点,跳槽并没有坏处,但是频繁的跳槽就不好了。在工作的前 4 年,必须跳槽,而且鼓励跳槽(建议经历 2—3 家公司);每个公司对技术的侧重点都不同,对开发流程控制都不一样,所需要的技术性人才自然不一样;比如外包公司,要的是一个代码狂人(我很喜欢招做过外包的人,感觉很多在外包公司待过的人做事的效率很高);小事业的公司,要的是一个全能型的程序员(能设计分析,能写代码,能部署);大的公司,要的是一个技术扎实,有潜力的人(英语好,理解能力好,Java 基础扎实);这样如果你在一家公司呆久了,很可能就模式化,如果一旦离开这家公司,找工作有时候很容易碰壁;多经历两家公司,对程序员很有益!而且我自己也有感觉,每次找工作都在强制自己学东西。

面试宝典

最近有很多朋友去目前主流的大型互联网公司面试(阿里巴巴、京东、美团、滴滴),面试回来之后会发给我一些面试题。有些朋友轻松过关,拿到 offer,但是有一些是来询问我答案的。

一、阿里巴巴面试

第一个:阿里面试都问什么? :(55 分钟)

1、开发中 Java 用了比较多的数据结构有哪些?

2 谈谈你对 HashMap 的理解,底层原理的基本实现,HashMap 怎么解决碰撞问题的?

这些数据结构中是线程安全的吗?假如你回答 HashMap 是线程安全的,接着问你有没有线程安全的 map,接下来问了 conurren 包。

3、对 JVM 熟不熟悉?简单说说类加载过程,里面执行的哪些操作? 问了 GC 和内存管理,平时在 tomect 里面有没有进行过相关的配置

4、然后问了 http 协议,get 和 post 的基本区别,接着 tcp/ip 协议,三次握手,窗口滑动机制。

5、开发中用了那些数据库?回答 mysql,储存引擎有哪些?然后问了我悲观锁和乐观锁问题使用场景、分布式集群实现的原理。

6、然后问了我 springmvc 和 mybatis 的工作原理,有没有看过底层源码?

二、京东金融面试

1、Dubbo 超时重试;Dubbo 超时时间设置

2、如何保障请求执行顺序

3、分布式事物与分布式锁(扣款不要出现负数)

4、分布式 session 设置

5、执行某操作,前 50 次成功,第 51 次失败 a 全部回滚 b 前 50 次提交第 51 次抛异常,ab 场景分别如何设置 Spring(传播性)

6、Zookeeper 有哪些用

7、JVM 内存模型

8、数据库垂直和水平拆分

9、MyBatis 如何分页;如何设置缓存;MySQL 分

10、熟悉 IO 么?与 NIO 的区别,阻塞与非阻塞的区别

11、分布式 session 一致性

12、分布式接口的幂等性设计「不能重复扣款」

三、美团面试

1、最近做的比较熟悉的项目是哪个?画一下项目技术架构图

2、JVM 老年代和新生代的比例?

3、YGC 和 FGC 发生的具体场景

4、jstack,jmap,jutil 分别的意义?如何线上排查 JVM 的相关问题?

5、线程池的构造类的方法的 5 个参数的具体意义?

6、单机上一个线程池正在处理服务如果忽然断电该怎么办?(正在处理和阻塞队列里的请求怎么处理)?

7、使用无界阻塞队列会出现什么问题?

8、接口如何处理重复请求?

9、具体处理方案是什么?

10、如何保证共享变量修改时的原子性?

11、设计一个对外服务的接口实现类,在 1,2,3 这三个主机(对应不同 IP)上实现负载均衡和顺序轮询机制(考虑并发)

四、滴滴面试

1、自我介绍,技术特点

2、兴趣是什么,优势是什么

3、jvm,jre 以及 jdk 三者之间的关系?

4、Dubbo 的底层原理,Zookeeper 是什么

5、cincurrentMap 的机制;TreeMap;Volatil 关键字

6、快速排序;广度优先搜索(队列实现)

7、缓存的雪崩以及穿透的理解?

8、HashMap 的 key 可以重复吗?

9、synchronized 和 lock 的区别?

10. 开发一个大型网站你会考虑哪些问题?

欢迎工作一到五年的 Java 的工程师朋友们加入的 Java 架构开发:685*-167-67-2

本群提供免费的学习指导架构资料以及免费的解答

不懂得问题都可以在本群提出来之后还会有职业生涯规划以及面试指导