淘宝|蚂蚁|菜鸟|盒马|嘀嘀|饿了么面经(已拿多个offer)
上一篇的同学拿到了bigo和腾讯的offer,这一次的分享来自两位同学的面试综合,他们分别拿到了菜鸟、嘀嘀、盒马的多个offer,由于面试的时间跨度时间太长,且面试的部门太多,只能回忆到具体的面试题,无法再具体区分出几面了,但是面试真题还是可以拿出来分享一下,且看正文。
菜鸟&嘀嘀
这些来自第一位同学分享的面试题,由于过于优秀,同时面试几个大厂都已拿到offer,他只能回忆到一些重点的问题。
JVM内存溢出排查?
根据他的描述,JVM内存溢出的排查是个必问点,基本上每个公司都被问到,要知道怎么利用jstat、jmap这些命令结合MAT等工具导出堆栈信息查看分析,如果没有实战的经验,最好平时可以自己模拟一下场景,看看具体怎么处理。
网络编程相关的提问
因为大家Java可能做业务相关的需求比较多,如果不是涉及到比如IOT这种和网络编程相关的话,确实不是很清楚,对于这块问题他直接回复不清楚,问题也不大。
并发包相关问题
JUC下的那些常见问题,ConcurrentHashMap、CountDownLatch等等这些都应该要熟悉掌握,面试必考点。
线程池原理
基本也是必问点,也比较简单。
mysql索引,锁机制,隔离级别
同上,这个比较基础,必须掌握的点,如果不是很明白,可以去看我的进大厂系列mysql的专题。
Redis连环炮
Redis连环炮,数据类型、缓存击穿、雪崩、穿透、热key、大key,哨兵、集群,同步机制都应该了然于心,具体可以看我的进大厂系列redis专题。
有一个比较少见的问题,tomcat起两个war包,怎么识别哪个请求要给到哪个进程?
这个问题同学没有回答上。(欢迎你留言给出想法哦)
Linux的命令,比如怎么查看给文件按大小排序,主要是查看日志相关的技巧命令
这个在上一篇的快手的面试也有,Linux相关的基本上就是这些了,对于日志的查询这块grep、tail等等这些要用的熟练。
volatie内存屏障具体是怎么实现?
关于JMM内存模型相关的知识点,必须要掌握。
JVM启动参数有哪些,怎么调优,TLAB是什么,阻塞队列对比和选择
JVM调优,根据实际场景举例,阻塞队列的问题上一个同学也碰到了,都是基础知识,应该掌握,TLAB这个稍微有点不常见。
DDD的理解?
对于阿里来说,很负责任的告诉你,基本上DDD是必问,但是这个基本上只要你有一定的自己的理解就可以了。
Reactor模型
这个问题,至少我在美团、饿了么、阿里多个面试中碰到过,基本也属于必问的问题。
第一个总结
第一位同学的面试题记忆深刻的就这些了,虽然不多,但是基本上也都覆盖到了高频出现的问题,参考价值还是挺大的。总的来说,DDD、Reactor模型可能大部分同学都不是很清楚,可以专门准备一下。
蚂蚁金服
CHM结构,线程安全保证,加锁实现细节
ConcurrentHashMap7和8的区别,实现原理这些常考点。
JVM内存结构,垃圾回收原理,GC配合策略,排查过程细节和调优方案
还是一样的问题,JVM、GC、垃圾收集器,调优的方案。
线程安全的本质?
要说到原子性、有序性、可见性的问题。
并发锁,AQS原理
都不是难点,频繁问。
ThreadLocal源码
多次出现的问题,一定要看书。
mysql 幻读,怎么加锁
同样的问题,参考我的进大厂mysql系列。
秒杀设计
秒杀从流量过滤、缓存、异步队列、限流、降级这些方面说说就可以了。关于秒杀我的文章里面也写过了。
亮点项目
亮点、难点项目一般也都是一定会问你的,事先准备,如果项目实在没有亮点,可以从业务价值或者一些开源的项目角度来说说,都没有,咱就聊技术。
淘宝
介绍下项目,整体架构,主要功能
嗯,还是项目,一般都是第一个问题,从项目入手聊技术。
网络模型,NIO,netty
关于NIO\BIO\AIO必须要了解。
JVM,垃圾回收,调优,排查思路
看到有多么频繁的出现了吗?第几次了?
Redis为什么快?使用场景?过期策略?
Redis连环炮,同上。
RocketMQ 场景,如何保证不丢消息?
面阿里可以多准备下RocketMQ相关的,因为无论是开源的ONS还是其他都是基于RMQ的。关于MQ可以看我的进大厂系列MQ专题。
Spring Bean 生命周期
常考点,可以看我的进大厂系列Spring专题。关于Spring相关的面试题其实很少就这么几个。
线程池参数,执行顺序,场景?
线程池原理,牢记。
Mysql 存储引擎,索引
基本上就说InnoDb和Myisam就行了,区别说清楚。
饿了么
CHM 和 HashTable
还是老问题,就不说了吧。一般都会说到CHM7和8的区别,实现原理区别。
JVM 垃圾回收的原理,GC 排查步骤
第N次出现。
volatile,synchronize
一样的问题,这些问题都可以看我的进大厂Java基础系列。
SQL 优化,事务隔离级别
也是第N次出现了。
MQ的区别以及选型
要记一下,RMQ、Kafka、RabbitMQ这些区别,支撑的吞吐量,支持的功能等等。
Redis 分布式锁
关于分布式锁,除了基本实现之外,可能还会涉及到一个可重入的实现的问题。
业务幂等实现
就说自己的业务中幂等是怎么做的就好了。
分库分表,MyCat 底层实现原理
MyCat问到原理这个倒是不是很多见,分库分表的很常见,看我的面试专题系列吧。
监控指标,业务分析,业务指标
根据自己使用的监控系统来说,哪些监控项,为什么?告警策略是什么,指标,阈值。
亮点业务,好的项目
准备好自己的项目,必问。
平时怎么学习的?看什么书?
如果不看书的话,就别吹,一问就露馅。
场景题设计:银行,人,卡,充值记录,怎么进行系统设计,怎么支撑高并发?
这个场景题还比较简单吧,可以参考看看我的百亿级流量怎么处理。
聊项目,聊人生
这是最后一面的最后一个问题,不过当时状态不佳,回答的不好,估计就是因为这个错过了P7,泪奔~~o(>_<)o ~~
盒马
可能知道我其他BU已经到了终面,没怎么问基础,主要问的都是项目亮点,设计,发展之类的。
总结
第二位同学也是拿到了饿了么、盒马、淘宝的多个offer,很多人也许看了会说,啊,这很简单啊,我上我也行,不,我觉得你上你真不一定行,面试题写出来给你看和当场面试的感受还是不太一样的,很多细节的问题从罗列出来的知识点是体现不出来的。而且个人状态、情绪都会对发挥产生影响。
关于这个我突然想到知乎的一个问题“你的编程水平从什么时候开始突飞猛进的?”,我想了很久都没想好怎么回答,就是突然回头发现自己之前怎么写的代码那么烂?包括现在都会回头看我为什么当时的逻辑是这样写的?好像,不管面试还是平时,其实都是靠着水滴石穿的功夫罢了。
对吧,哪有那么多突飞猛进,岁月静好,不过是每天都在负重前行罢了。
- END -
淘宝|蚂蚁|菜鸟|盒马|嘀嘀|饿了么面经(已拿多个offer)的更多相关文章
- 8年前诞生于淘宝,细数阿里云RPA 的前世今生!
9月10日,踏入55岁的马云正式卸任阿里巴巴董事局主席一职,由阿里巴巴集团CEO张勇接任.公寓创业.西湖论剑.美国敲钟,从成立到登顶中国最值钱的公司,阿里巴巴只用了20年. 阿里云RPA,2011年诞 ...
- 淘宝PK京东:哥刷的不是广告,刷的是存在
冯强/文 (昨晚看阿根廷vs瑞士时手机上敲的,看完太激动忘发了,现配了图发上来) 这两天,关于京东.淘宝渠道下沉的新闻中,两家略带喜感的农村墙体广告在互联网上传播,例如以下图: 京东这图片,越看越像P ...
- 模仿淘宝首页写的高仿页面,脚本全用的原生JS,菜鸟一枚高手看了勿喷哈
自己仿照淘宝首页写的页面,仿真度自己感觉可以.JS脚本全是用原生JavaScript写得,没用框架.高手看了勿喷,请多多指正哈!先上网页截图看看效果,然后上源码: 上源码,先JavaScript : ...
- python 脚本开发实战-当当亚马逊图书采集器转淘宝数据包
开发环境python2.7.9 os:win-xp exe打包工具pyinstaller 界面tkinter ============================================= ...
- 淘宝前端工程师:国内WEB前端开发十日谈
一直想写这篇"十日谈",聊聊我对Web前端开发的体会,顺便解答下周围不少人的困惑和迷惘.我不打算聊太多技术,我想,通过技术的历练,得到的反思应当更重要. 我一直认为自己是" ...
- 陈思淼:阿里6个月重写Lazada,再造“淘宝”的技术总结
小结: 1. 所谓的中台技术,就是从 IDC,网络,机房,操作系统,中间件,数据库,算法平台,数据平台,计算平台,到业务平台,每一层都有清晰的定义和技术产品. 具体来看,首先,集团技术的分层和每层的产 ...
- 揭秘盒马鲜生 Android 短视频秒播优化方案
短视频作为内容重要的承载方式,是吸引用户的重点,短视频的内容与体验直接关系到用户是否愿意长时停留.因此,体验的优化就显得尤为重要.上一篇我们分享了 iOS 短视频秒播优化,这篇我们来聊聊 Androi ...
- (转)从P1到P7——我在淘宝这7年
(一) 2011-12-08 [原文链接] 今天有同事恭喜我,我才知道自己在淘宝已经七周年了.很多人第一句话就是七年痒不痒,老实说,也曾经痒过,但往往都是一痒而过,又投入到水深火热的工作中去.回家之后 ...
- 淘宝购物车页面 PC端和移动端实战
最近花了半个月的时间,做了一个淘宝购物车页面的Demo.当然,为了能够更加深入的学习,不仅仅有PC端的固定宽度的布局,还实现了移动端在Media Query为768px以下(也就是实现了ipad,ip ...
随机推荐
- git操作之三:git reset
在上篇文章中介绍了git restore命令,该命令的可以看作是撤销命令,文件在不同的状态下,使用git restore <file> 命令,会撤销对文件的修改,是文件回到修改前的状态也就 ...
- Android10_原理机制系列_Binder机制
前言 Binder 从java到c++到kernel,涉及的内容很多,很难在一篇文章中说清楚.这篇主要是自我记录,方便后续查询并拆分总结的. 因为涉及的的确非常多,不能面面俱到,所以可能一些地方感觉比 ...
- Tomcat口令暴力猜解&&后台getshell
Tomcat环境搭建 windows系统xampp搭建tomcat linux yum搭建tomcat 修改tomcat目录下的conf/tomcat-users.xml文件开启管理后台口令认证 &l ...
- vue路由参数的获取、添加和替换
获取路由参数 getUrlKey(name){//获取url 参数 return decodeURIComponent((new RegExp('[?|&]'+name+'='+'([^&am ...
- jQuery 第八章 实例方法 遍历索引
遍历索引相关方法: .each() .index() ------------------------------------------------- .each() 有点像数组的 forEach( ...
- python+selenium通过加载用户配置实现免登陆
1查看profile路径 在Chrome地址栏访问chrome://version,可以查看个人资料存储位置: 2 python代码如下: from selenium import webdriver ...
- JavaSE 学习笔记06丨并发
Chapter 12. 并发 12.1 并发与并行 并发:指两个或多个事件在同一个时间段内发生. 并行:指两个或多个事件在同一时刻发生(同时发生). 在操作系统中,并发指的是在一段时间内宏观上有多个程 ...
- Java基础教程——List(列表)
集合概述 Java中的集合,指一系列存储数据的接口和类,可以解决复杂的数据存储问题. 导包:import java.util.*; 简化的集合框架图如下: List·列表 ArrayList List ...
- leetcode_3FizzBuzz的一些思考
题目很简单,给定一个正整数n,如果n能整除3的话往list里加入Fizz,如果n能整除5的话往list里面加入Buzz,如果即能整除3又能整除5的话,加入FizzBuzz,代码也很简单 public ...
- Docker 指南
一.docker 介绍 1.1 引言 环境不一致 "我本地运行没问题啊?!" 多用户相互影响 "哪个哥们又写死循环了,怎么这么卡?!" 运维成本高 " ...