新鲜出炉!春招-面试-阿里钉钉、头条广告,美团面经分享,看我如何拿下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!
新鲜出炉!春招-面试-阿里钉钉、头条广告,美团面经分享,看我如何拿下offer!的更多相关文章
- 微信小程序开发视频教程新鲜出炉
微信小程序开发公测了,可是对于新手来说,不同的框架不同的开发机制,如何快速适应呢?微信小程序开发视频教程新鲜出炉了,从零开始一步一步搭建微信小程序,每个章节都会涉及到不同的知识点,等教程学习完你不但掌 ...
- 刚写完的商城erp + 这个商城前台,新鲜出炉。自己1个人写, 包括php框架和前端html页面.
刚写完的商城erp + 这个商城前台,新鲜出炉.自己1个人写, 包括php框架和前端html页面. 刚写完的商城erp + 这个商城前台,新鲜出炉.自己1个人写, 包括php框架和前端html页面.
- 23套新鲜出炉的网站和手机界面 PSD 素材
Web 用户界面,移动用户界面和线框套件对设计师很有用,因为这些套件让他们使用快速和有效的方式复制用户界面.这些类型的工具包提供了一个基本的用户界面元素,用于它们需要制作的网站或软件模型. 在这篇文章 ...
- 22套新鲜出炉的 Web & Mobile PSD 用户界面素材
在这篇文章中,我们展示的是自由和清新的 UI 设计素材套件.这些线框图和 UI 设计工具包让设计师在设计用户界面原型的时候能够非常便利. Web 用户界面,移动用户界面和线框套件对设计师很有用,因为这 ...
- 20个新鲜出炉的网站模板【HTML & PSD】
这里给大家分享20 个新鲜出炉的免费网站模板.这些设计元素将成为你下一个项目的重要素材,可以帮你节省很多的时间.与往常一样,我们经常漫游网络,寻找最好的资源, HTML.CSS 和 PSD 等等,记得 ...
- 分享25个新鲜出炉的 Photoshop 高级教程
网络上众多优秀的 Photoshop 实例教程是提高 Photoshop 技能的最佳学习途径.今天,我向大家分享25个新鲜出炉的 Photoshop 高级教程,提高你的设计技巧,制作时尚的图片效果.这 ...
- PS教程:20个新鲜出炉的 Photoshop 中级教程
Photoshop 实例教程是提高 Photoshop 技能的最佳学习途径.今天,我向大家分享最新20个 Photoshop 进阶教程,提高你的图片处理技巧,制作时尚的效果.这些教程可以帮助把你的想法 ...
- Onsen UI – 新鲜出炉的 PhoneGap 界面框架
Onsen UI 是一个基于元素自定义的 HTML5 UI 框架,用于构建你的移动前端.这个一个基于 Web 组件的概念的框架,让构建应用程序变得更加轻松.Onsen UI 专门针对 PhoneGap ...
- 20套新鲜出炉的免费 PSD 格式的图标《免费下载》
在网页设计中,设计师专注于每一个领域的设计,包括颜色选择.图标.创造力.混色等.正确的选择图标可以使他们的设计脱颖而出,看起来令人震惊.在 Web 设计领域,图标发挥非常重要的作用,因为美丽的和创造性 ...
随机推荐
- volatile到底做了什么:
volatile到底做了什么: 禁止了指令重排 保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量值,这个新值对其他线程是立即可见的 不保证原子性(线程不安全) synchroniz ...
- C2. Pokémon Army (hard version) 解析(思維)
Codeforce 1420 C2. Pokémon Army (hard version) 解析(思維) 今天我們來看看CF1420C2 題目連結 題目 略,請直接看原題. 前言 根本想不到這個等價 ...
- E. Copying Data 解析(線段樹)
Codeforce 292 E. Copying Data 解析(線段樹) 今天我們來看看CF292E 題目連結 題目 給你兩個陣列\(a,b\),有兩種操作:把\(a\)的一段複製到\(b\),或者 ...
- python的多线程和java的多线程之间的区别
在python中,由于Cpython解释器的全局解释器的存在,那么多线程的话在同一时刻只能有一个线程执行,意思就是python中的多线程只能并发执行, 没有办法实现真正的并行,也就是无法利用多核CPU ...
- Java-GUI基础(三)java.swing
1. 简介 swing与awt:可以认为awt是swing的前身,awt即Abstrace Window Toolkit抽象窗口工具包,swing是为了解决awt在开发中的问题而开发的,是awt的改良 ...
- Maven魔法堂:安装Oracle JDBC Driver依赖的那些坑
前言 由于Oracle并没有向公开Maven仓库提供任何Oracle JDBC Driver的Jar包,因此我们无法像MySQL.SQLite等那么轻松直接通过Maven加载依赖. 而手动下载Orac ...
- 想学 iOS 开发高阶一点的东西,从何开始?
前言 如果你正在学习 iOS, 或者正在从事IOS开发? 还是一个一个迷茫的待就业大学生,或是公司的到一个半老员工? 现在到了开发的一个阶段了,基本的东西很熟了,想着提高技术? 学习难一点的东西,不知 ...
- PS零基础入门教程--裁剪工具用法
我是IT轩,分享一下我使用PS的一些用法,希望对大家有帮助!欢迎关注微信公众号:笑林新记 PS版本:PS CC 2019 主要技术:裁剪工具. 裁剪工具主要有:裁剪工具.透视裁剪工具.切片工具和切片选 ...
- 5 Post和Get
5 Post和Get GET和POST有什么区别?及为什么网上的多数答案都是错的 知乎回答 get: RFC 2616 - Hypertext Transfer Protocol -- HTTP/1. ...
- 利用GitHub和Hexo打造免费的个人博客
每个程序猿都需要一个个人博客,目前广泛出现在大家视野里的有CSDN.博客园.简书,但是他们却没有给用户一个专属的站点.一个好记的域名.你需要一个https://xxx.xxx.xxx/格式的网址,一个 ...