作者 | 科技缪缪

来源 | 科技缪缪(ID:kejimiumiu)

今年初拿了个饿了么P7的Offer,于此同时大家顺便看看我怎么途虎一轮游的。废话不多说,直接上题吧。

一面

首先上来就是自我介绍,简单的说下自己的项目经验,涉及的技术栈之类的。

然后每一轮必问的问题来了:说说你印象最深刻的项目!

这个已经被问的都不想说了,挑个有很多槽点的来说,并且自己已经知道问题答案的,我说了一个服务迁移同时双写的解决方案。

接着按照国际惯例先来一个 HashMap 原理。。。

那就来吧,简单说下 HashMap 数组+链表结构,hash 的实现方式和好处,高低位异或降低冲突,扩容的方式,头插和尾差这些差不多就好了。

这里我也不等他问了直接讲 ConcurrentHashMap 了,反正接下来肯定是问的,就说了下1.7和1.8的实现区别啊,1.7使用分段锁啊,而1.8使用 CAS+synchronized 实现,增加了红黑树避免链表过长导致的性能问题,put 和 get 的实现我一般就不主动说了太累了,等他问问了就说,不问就省点功夫。

然后既然说到了 synchronized 那就说说它的原理吧,接下来又是什么 monitor 对象啊,对象头啊,锁信息、分代年龄、GC 标志一些难懂的话,整个电话里都充满了欢乐的气息。

好吧,接着自己老实点说锁的优化吧,自旋、消除、粗化、轻量级、重量级、偏向都说一遍,我记得我就说了下自旋和偏向就完了,因为我发现年纪大了这些东西跟背书一样总是忘。。。

一切跟着节奏走,说了锁,那就 ReentrantLock 继续走着啊,AQS 实现原来来一发,然后说 CAS state 赋值,失败进入等待队列,讲下公平锁非公平锁。

然后发现java面试真的是八股文套路,又来了新词了吧,CAS 原理又说一通,然后有的面试官又会问 ABA 的一些东西,又扯下乐观锁版本号之类的。

说到这里面试官好在没跟着乐观锁直接走到数据库去了,问了下线程池原理,这个太简单了,几个名词 maxSize、coreSize、keepAliveTime、queue 说一说就好了,基础。

完了真的就开始数据库了,都是常规题,索引 B+ 数啊,覆盖索引,回表啊什么的,还有也是必问的事务 ACID,隔离级别,MVCC 原理。

一面都比较基础吧,也没什么难点,简单就过了。

二面-交叉面

过了快一周接到了二面的电话,是在钉钉里拉了个群,说是要视频面试,在家里快发霉了好好的洗了个头结果没和我视频,只是钉钉打了个电话过来,国际惯例,自我介绍+印象最深刻项目!

二面是交叉面,其他组的一个架构师来面的,上来就是送命题,说是假设有1亿的用户 session 数据缓存到 redis,怎么做保证高可用?这种题我觉得都是看你有没有思路了,比如我问他我们根据日活或者其他的数据可以选择缓存一部分热点数据啊,根据停留时长选择过期时间、过期策略,然后看存储的数据类型来选择什么数据格式。接着讲怎么保证 redis 的高可用,这个可就简单多了,这就是面试技巧了,讲高可用就讲会出现的问题就行了,redis 就直接从主从复制、哨兵、集群、持久化什么 AOF RDB 说,够说10分钟,说完了看情况接着说缓存击穿、雪崩、穿透、热 key 怎么解决,把能说的都说一遍就结束了。面试官肯定一看这小伙子不错,我都没问他就说完了,妥了妥了。

接着问了个问题说 cpu 负载和 CPU 使用率区别,我告诉他医院有3个医生,10个病人都排在一个医生下面,另外2个医生没人,这时候CPU使用率是33.33%,但是负载就非常高了。然后接着问系统负载过高怎么办?不是 CPU 负载也不是 IO 负载!这一题我没回答,主要是感觉没太明白意思,后面去网上搜了一下,说是阿里面试必问题,大家有兴趣可以去搜搜看。接着又问 CPU 很高怎么排查?这个也没啥,我前面的面试详解六里面写了,这里不展开。

然后接着聊了下 GC,年轻代老年代的收集器哪些,GC 过程,不是很深入。接着说饿了么日订单过千万,针对这个场景分库分表你怎么做?这个按照我们之前的经验说了下之前的解决方案,根据用户或者商家维度 sharding,历史数据归档,只能查询3个月或者半年数据,有更多的需要走离线数仓这种。然后一定会问那根据用户 sharding 其他维度的查询怎么办,这里就是关联表啊,索引啊,如果可以一定带着 sharding_key 去查询啊,实在不行只能多线程扫表啊,还有打宽表之类的。

接着又聊 MQ,怎么保证消息的可靠性,因为我们之前用阿里云的 ONS,就以 RocketMQ 举例子,丢失的场景啊,生产者发送失败、MQ 自己丢失、消费者消费失败3个方面说就好了。

最后就聊了下1.8的新特性 stream 啥的说说,BIO\NIO 说说最后就结束了。整体感觉还行,除了那个负载的问题有点坑,另外就是 NIO 这个确实基本没用上靠背书了。。

三面-老板P8面

3面就是以后直属老板面试了,这一轮没太多聊技术问题,主要是聊项目怎么做的啊,怎么设计啊,让你设计的话你怎么设计,不过这一轮感觉当时脑子有点抽就是面的不太行,反应迟钝,反而最简单的是面的最不好的一轮。。本来还以为挂了,最后过了。

四面-部门leader P9面

4面就是中台的大领导面了,3面老板是P8,4面的话是P9面,这一轮的问题也比较中规中矩吧,基于项目问的非常细,我这里也就没办法表述了,还有就是又把 dubbo、mq、redis 又说了一遍,可没把我累死。这一轮面的比较好,轻松通过吧。

终面-HR

因为我面的是7所以一般就是5面了,除非可能其他几面的面试官意见不统一可能要加面,我一个朋友就加面了一轮还是过了。最后就是HR谈薪资了,这里HR先问我你期望薪资多少,我说涨幅20-30%,然后他直接给我报了一个数。。。。我想问那你问我干啥??小朋友头上有很多问号好不好。。。

题外话-途虎面

放到最后来说途虎,实际上还是因为感觉被坑了,在中间面饿了么的时候先是面了1轮很简单的过了,然后中间说这个部门没 HC 了,换另外一个部门面,那我说行吧,既然都这样了,那就面吧。结果嘛,好家伙,第一回一面算是挺正常的一面,这一回的我有点惨, springboot 要支持 mybatis 怎么配置?那个什么方法我忘记了有几个参数?我当时的内心。。。然后我就挂了。我很绝望你知道吧!

好吧,这就是今年的一份面试经历,有点意思的,与君共勉吧。

更多精彩推荐
☞跑路后再删库?思科前员工离职后恶意删库,损失达 240 万美元
☞这样的 Python 游戏你想玩吗?| 每日趣闻
☞5年5亿美金,华为昇腾如何争夺AI开发者?
☞GitHub 标星 20000+,国产 AI 开源从算法开始突破 | 专访商汤联合创始人林达华
☞下一代 IDE:Eclipse Che 究竟有什么奥秘?
☞BM发声,孙宇晨入场,国产公链集体进军DeFi
点分享点点赞点在看

拿到饿了么 P7 Offer,却一轮游途虎……相关推荐

  1. 我是怎样刚拿饿了么P7 offer,然后途虎一轮游的

    本文转载自微信公众号:科技缪缪 今年初拿了个饿了么P7的offer,于此同时大家顺便看看我怎么途虎一轮游的.废话不多说,直接上题吧.   一面 首先上来就是自我介绍,简单的说下自己的项目经验,涉及的技 ...

  2. 阿里面试,拿到 P7 offer

    谈一谈我 2020 年年初面试阿里 Java 开发的面试的经历吧,先说一下结果--最终拿到阿里 P7 的offer,薪资 32k * 14 + 80 万期权. 背景 我是 C/C++ 出身,2017 ...

  3. 做Java开发7年,今年9个月时间圆梦饿了么P7

    前言 工作拧螺丝,面试造火箭.我想这是每个程序员比较头疼的事情吧!但是,又必须要经历一个面试流程,尤其是摸不清面试官问的问题,导致面试的时候不知道如何回答. 本文是工作7年Java程序员从几十次面试中 ...

  4. 收到字节 Offer,月薪 45k,揭秘面试流程及考点

    前段时间,有个朋友又出去面试了,这次他面试目标比较清晰,面的都是业务量大.业务比较核心的部门.前前后后去了不少公司,几家大厂里,他说给他印象最深的是字节. 图源:拉勾网字节招聘信息 3 轮技术面 + ...

  5. 做到阿里P7和考上985/211哪个更难?

    "职级达到阿里P7和考上985/211哪个更难"曾经是在大厂内网被广泛讨论的话题,到底哪个更难?非当事者不可言明. 前同事拿到阿里P7 offer后,开启了在朋友圈的"炫 ...

  6. 2018年算法工程师秋招经验贴(微软、华为、网易游戏、阿里offer)

    目前不打算再投其他的公司了,所以来写面试总结.一直被各种人追问面经,准确写好一劳永逸哈哈哈.本人985硕士,性别女,可以参考下哈.有什么问题,可以留言哈. 1.微软 微软是参加的进校面试,(师姐安利的 ...

  7. 程序员注意了!应聘阿里P7岗,面试都过了,结果栽在背景调查!

    大厂是很多程序员都梦寐以求都想进的,尤其阿里,在国内是顶尖的互联网公司,程序员们挤破头颅,用尽所有方法都在渴望获得一席之位! 最近一名程序员应聘阿里旗下企业支付宝,所有面试都通过了,结果却败在了背景调 ...

  8. 研发经理:月薪4万,手拿蚂蚁P7,降薪10%,要跳槽吗?

    前言 随着科技的发展,职场跳槽已经是家常便饭,很多人跳槽不是为了升职就是为了涨薪,但也有不少人属于同级别跳槽. 有网友在某社交平台求职友们支招: "工作4年了,现在在一家中型创业公司担任研发 ...

  9. 一个半月拿到阿里字节拼多多美团Offer,最后去了阿里蚂蚁金服

    战况 蚂蚁:一轮笔试+五轮技术+一轮HR 饿了么:三轮技术面 + 一轮HR 面 抖音:三轮技术面 + 一轮HR 面 拼多多:三轮技术面 + 一轮HR 面 美团:三轮技术面 + 一轮HR 面 比心:三轮 ...

最新文章

  1. Udacity机器人软件工程师课程笔记(三十六) - GraphSLAM
  2. LeetCode (12.整数转罗马数字)JAVA StringBuffer
  3. 数据结构(C语言实现)勘误
  4. ArcEngine中画点画线画面
  5. HDU - 3804 Query on a tree(主席树维护最大值+离散化)
  6. python断点调试_「Python调试器」,快速定位各种疑难杂症!!!
  7. win10mongodb链接_Windows 10 安装 Mongodb
  8. 小米改鸿蒙系统,小米、OV傻眼 魅族要用鸿蒙系统!
  9. RabbitMQ教程_5 整合SpringBoot
  10. zju眨眼数据集_浙大 CBIST团队发布高质量的多中心MRI公开数据集
  11. 没有提取码怎么获取百度网盘资源?
  12. 解决 误删Path环境变量的问题
  13. 十大编程语言的优劣对比简述
  14. Photoshop脚本 设置前景色和背景色
  15. 狐狸逮兔子——链式存储方式
  16. 信息安全 SEED Lab10 Packet Sniffing and Spoofing Lab
  17. IPRAN 网络结构图
  18. 半导体通讯标准EAP、SECS/GEM视频介绍
  19. el-dialog el-tabs结合样式改造
  20. 转:长篇小说《七月七日晴》(超感人的)(续)

热门文章

  1. 辞任亚马逊CEO!贝佐斯转战蓝色起源,马斯克或迎最大劲敌?
  2. SAP RETAIL系统与制造业SAP系统上关于补货的配置
  3. 大苏州战略:“北上”滨江?
  4. 逃离无声的世界,跟AI一起听叶落的声音
  5. SAP SD基础知识之信用风险管理概述
  6. 今日 Paper | 手部和物体重建;三维人体姿态估计;图像到图像变换等
  7. 我是AI产品经理,就必须掌握AI技术吗?
  8. 深度学习中的激活函数总结
  9. 用泰勒级数来估计函数的近似值
  10. 图形卷积神经网络有多强大?一文让你熟练掌握GCN