新鲜出炉!春招-面试-阿里钉钉、头条广告,美团面经分享,看我如何拿下offer!

之前给大家分享了一个朋友在字节面试的面试经历和拿到offer的过程,过程也算是比较精彩了,感兴趣的朋友可以去翻翻之前的那篇文章。话不多说重点来啦,一直有人发私信问我有没有其他大厂的面经分享啊,我也是联系了几个参加春招去面试阿里头条的粉丝,从他们那拿到了面试题和面试流程,花了三天给大家整理在了下面。

阿里-钉钉-春招实习-面试-java研发

一面(p7)(1h45min):

1、自我介绍(主要是项目经验,及项目中遇到的难点)

2、针对项目中中间件zk,dubbo,kafka等出题

3、消息中间件的优缺点及选型

4、dubbo服务的一些原理

5、具体场景进行接口设计(例如拉取聊天记录(cas进行版本控制))

6、手撕代码:类似于三数相加,写完以后进阶,如何在多线程的情况下完成这个题目(手写mapreduce)(ps:我是通过volatile去写的))

7、docker的了解,docker与虚拟机的设计区别

8、http几个版本的差别

9、介绍组内主要工作

10、问问题

二面(p9)(1h):

1、自我介绍(主要是项目经验,及项目中遇到的难点)

2、针对项目中的rpc中间件dubbo原理询问

3、如果自己设计一个rpc框架怎么设计

4、各种序列号协议的特点

5、nio的设计架构

6、rpc与http的对比,为什么spring cloud用的是http

7、消息中间件的优缺点,选型(主要针对kafka于rocketmq)

8、docker与虚拟机的设计差别?用过k8s没有?让你设计一套容器管理的框架怎么设计

9、日常学习的方式

10、随机算法如何做到“公平”

11、对未来的规划

12、问问题

三面(p9交叉面)(1h):

1、自我介绍(项目没怎么问)(这一面确实开放性的场景题)

2、针对spring框架中bean的生命周期,如何不使用spring配置生命周期的功能,完成每个request与session都是单例的情况(利用反射生成匿名类)(具体的描述不是特别记得了,反正挺难的)

3、Java的aop的实现原理,两种代理机制的差别(实现原理)

4、如何设计一套rpc框架

5、序列化的知识点,serializable关键字的作用(实现原理),集中序列化协议,pb的优点

6、tcp、udp的特点

7、tcp在当前存在的问题,滑动窗口机制、拥塞控制的不合理性,如何解决这个问题(用udp的方式解决滑动窗口的问题,解决网络传输被限制的问题)(参考google正在开发的一套网络协议)

8、  restful阐述

9、rpc过程中异常怎么处理的,利用反射生成?还有怎么传输或者有没有必要序列化传输?

10、自己日常的学习方式

11、自己的职业规划

四面(hr面)(1h):

1、自我介绍

2、为什么跨考,会不会专业知识不够

3、家庭情况

4、生活习惯、学习的方式

5、为什么会有这么多大厂的offer,是如何做到的

6、offer选择

7、从小学开始问,问到现在的一些经历

8、有什么问题要问

核心广告系统与创意中心-后端开发面经

头条一面:

1、介绍自己(主要说项目经验,项目的上下文)

2、hashmap源码、concurrenthashmap源码

3、索引的功能、底层实现

4、索引为什么用b-tree实现有什么优点

5、索引用b+树实现每次读取的时候操作系统的动作;

6、mysql引擎区别;

7、innodb的默认读是什么;innodb可重复度的实现原理(mvvc+next-key lock)

8、多线程线程安全的一些知识;

9、悲观锁&乐观锁;

10、volatile关键字:内存可见性的原理;禁止重排序的原理;

11、一道算法题,应该是树的我记得

头条二面

1、介绍自己(主要说项目经验,项目的上下文)

2、一道sql题目(挺难的)

3、一道算法题:区间合成吧我记得是

4、rpc框架,如果自己实现要怎么实现;

5、负载均衡

6、mq的优点,mq选型的原因;

7、docker与虚拟机的差异和优缺点;

8、线程安全;

9、垃圾回收,g1和cms实现细节;

10、数据库事务

11、覆盖索引

头条三面:

1、介绍自己(主要说项目经验,项目的上下文)

2、主要问了大学以来学习历程

3、主要自学了些什么

4、死锁的条件;

5、怎么避免死锁;银行家算法是什么;

6、tcp、udp;tcp的拥塞控制;tcp/http的滑动窗口存在的弊端

7、常用的liux命令行

8、算法题:字符串加减

9、spring的生命周期

10、这一面面的知识点都是比较基础的,但是会找一个刁钻的角度深入进去

主要考察个人发展的空间吧我觉得

美团-到店事业部(上海)-后端开发-春招

一面(55min)

1、自我介绍

2、为什么笔试一题没写,然后让我手撕三题算法题

3、项目经验介绍,及项目中遇到的难点

4、为什么跨考,计算机基础好吗

5、计算机网络tcp,udp ,http几个版本之间的比较

6、java虚拟机

7、java锁机制

8、操作系统中文件系统,进程与线程

9、银行家算法

10、dubbo的原理解释

11、如何做熔断机制

12、常见的负载均衡的算法介绍

二面(1h)

1、自我介绍

2、一面问了哪些问题

3、项目经验

4、rpc框架,及如何实现rpc框架

5、如何设计一套高并发的系统(微服务,消息中间件解耦,缓存。。。。)

6、乐观锁悲观锁

7、mysql索引,实现方式,原理,聚簇索引,覆盖索引等

8、innodb的mvvc及next-key lock

9、场景题,大致是用版本控制,进行数据库查询

10、mysql中如果一个字段是varchar,查询的时候查的是int类型会发生什么(索引失效)

11、es介绍,倒排索引的实现

12、spring aop的实现原理

13、mybatis一级索引、二级索引

14、问问题

15、愿不愿意去北京

总结:希望你们看完能够有所收获,对自己的面试也有一个好的准备。最后祝你们在自己的面试里也能一帆风顺,成功拿下自己满意的offer!

你可能感兴趣的:(java,后端,面试,面试技巧)