剽了这么多面经,自己也面了5家公司,总结也给给大家参考流程。(农业末流211,学校的强专业在农学那边,计算机专业很弱,Java自学快满一年)
--------------------------------拼多多
4.7 在线笔试,好像4道a出2道半
4.13 通知进入面试环节,填写应聘登记表
4.15 一面
4.20 二面
4.23 三面主管面
4.29 HR面
5.10 应聘信息确认(感觉offer马上到)
5.12 OFFER LETTER(有5天的意向确认时间)
------ 4.15一面50min
感觉挺难,面试官全程严肃还时不时叹气(弄得我很慌 😂 😂 😂)。。。
自我介绍
简单介绍项目,怎么做的,为什么要做这个,用到了什么技术。
乐观锁、悲观锁、举例讲讲,CAS
异步同步、阻塞非阻塞,他们之间有联系吗,说说区别,再从内核的角度说说看(私下查了资料答错了)
synchronized,放在各个地方锁的是啥,一个synchronized静态方法,一个普通的synchronized方法,访问静态方法后还能访问普通方法吗,锁的对象是一样的吗。
synchronized的底层实现,知道多少说多少,和ReentrantLock的区别
redis单线程为什么这么快(之前美团问过,但是还是有点记不清。。。)
。。。还有很多底层的问题记不起来了,一面问的都很底层基础。
求一个二叉树里的2个节点的距离,二叉树每个节点的值是唯一的。
当时写的是用递归的先序遍历方式去写,面试官说往这个方向想是对的,就继续卡了挺久,面试官提醒说可以吧走过的路径记录下来,
提醒到这差不多有思路了,就用栈去记录遍历的节点,还是递归先序遍历,当遍历到2个节点中的一个时当前的 栈轨迹就是那个节点的路径(从根节点开始算起的),最后比较这2个栈轨迹就行,类似最近公共祖先,比如找节点4和5的距离如果得出是[1,2,3,4]和[1,2,5] 那他们的距离就是3,及4->3->2->5.
--------4.20 二面50min
一度以为一面能过的概率不大,结果过了还是比较惊喜。
二面面试官特别和善,心情很好,上来就活跃气氛,说我这里天气很好啊,在寝室吗。。。
自我介绍
问项目,问具体实现,怎么使用redis的,myqsql有优化过吗,说说过程,登录流程,拦截器,jwt,2级缓存,部署,docker,git,
都是简单的聊,没有深入,这些技术是怎么开始去学的,碰到问题怎么解决的。
问了个ConcurrentHashMap
问了项目的实际使用情况,一个在商用一个没落地
问什么时候可以实习,能实习多久(我还以为结束了。。。)
继续问了几个底层:讲讲volatile,JMM,垃圾回收过程,字节码角度解释return i++,mysql的事务原理;
为什么喜欢java,怎么开始学的(感觉面试官特喜欢java)
算法题,面试官吧函数啥的都码好了,例子也给我写了( 🤣,码子速度惊人)
一个字符串,找是否存在一对AB-BA或者一对BA-AB, 重复的不算
直接遍历一遍吧AB和BA出现的数量记录下来,根据他们出现的次数分类讨论
(算法是可行的,复杂度O(n),面试后发现有更好的方法,双指针2端往中间扫描(左边有AB则右边就找BA这种思路))
----------4.23主管面30min
面试官看着就像大佬( 🤐)
问项目,项目里哪里可以优化,第一个项目如果落地了,如何保证高可用,数据库主从,后端服务多开几个,怎么保证
前台访问的接口一定能找到后端服务,用一个网关,怎么保证网关高可用,。。。(不清楚了,下来想了下,nginx+keepalive就可以
当时咋就想不起来泥。),引入了redis,redis挂了怎么办,系统还能正常运行但是很慢,所有redis异常都被捕获了,最终都会查询数据库,当时候人工维护。
怎么部署https的。https的加密流程。
最近在看什么书,推荐下,并发编程的艺术,学到了什么,里面很多思想都和操作系统的联系起来了与学校的纯理论课相比更加形象(实践起来了那种,比如阻塞队列,cas,管程)
什么时候可以实习,有什么想问的
什么技术栈:dubbo,没学过,面试官说SpringCloud那一套也可以,消息队列是自研的,去学RabbitMQ就行,缓存用的C++,
-------------4.29HR面20min
pdd HR小姐姐,声音很好听,很年轻(不知道是不是也是实习生),期待薪资,项目(说功能就行),怎么学的,家庭情况,学业情况,等通知,一周能
-------------5.12
base上海,是我向往的996作息,工资也给到了期待的最右区间,包吃,有转正,总的面试体验都很不错
----------------------------------蚂蚁金服花呗部门
--------------2021-04-29 支付宝蚂蚁花呗2面 电话面试20min
3月底就已经一面了, 当时面试官十分满意, 第2天就拉我2面, 发现已经投了阿里其他部门了,
就去转流程卡了这么久才来安排2面....
2面的面试官很忙, 原本晚上78点左右, 因为开会就调到晚上10:30安排(下班了还要面试, 很感激)
直接介绍项目(校园水站系统和奶茶店点餐系统外包)
问项目(负责的模块(全部是一个人做),为什么写水站, 水站项目的流程, 具体功能,
可以帮助送水员送水吗(每栋楼舍有实时叫水概览图), 奶茶项目的支付功能怎么实现的(微信支付),
把下单流程说下(选商品, 下订单, 微信统一下单预支付, 小程序调起收银台, 回调填入交易号,
账单回查, 商家自己负责配送))
项目用了哪些技术(SpringBoot, MySQL, Redis, JWT, Linux, Docker, uni-app, Vue)
为什么用JWT, 作用, 怎么用的?
说下二叉树和B树的区别和各自优缺点?(没答好,B树效率高且适合数据多的情况,节点二分查找,磁盘块读取,二叉树适合数据量少的直接全部加载到内存去读)
说下Redis的2中持久化的机制?(RDB和AOF) 各自优缺点?
Redis为什么用单线程?(简单专一, 不用考虑并发不用锁, 高效无线程切换, 私下查了还有: 瓶颈在内存不在CUP, IO多路复用)
JMM里堆里分代的原因?好处?
以后打算从事那个方向或者发展方向?
最近在学的技术(目前认知停留在微服务阶段)
说说微服务的理解?(将整个项目拆成不同个子项目(服务), 服务集群, 像是RPC调用那种, 没答好(服务注册发现, 网关, 熔断, 服务通信等))
微服务的优缺点?(提高并发, 模块化服务解耦, 编程复杂, 分布式事务)
最近有在面其他公司吗?(美团oc半个月了offer还没下来,拼多多明天第4面HR面, 携程1面挂了5.8有个复试, 最后表明自己真的很想去蚂蚁)
有什么问的?(什么部门的, 主要业务)
问题都不难, 阿里这边比较喜欢问项目,这个面试官更想听你的理解, 20分钟就结束了, 算法也没问, 可能是大晚上了吧
-----最想去蚂蚁,一面面试官师兄也一直在帮催流程
面试官说在安排hr了,拼多多还有几天考虑时间,如果等不到去拼多多也很不错
--------------------------------字节
找的内推,没有笔试(之前投的笔试挂了)
内推人很给力 5.11投的,当天就安排了一面时间。
----------------------5.11 上午一面50min
面试官很年轻,问的都很基础底层
自我介绍
项目说了一点点,面试官说他们是c++/go方向的,我是java到时候可能要转c++( 🤣我说我就是从c++基础转去学java的)
InnoDB的页机制
ACID,事务如何实现,redolog很大怎么办
redis的数据结构,各个使用场景,过期淘汰策略
进程线程的区别,进程的切换过程
虚拟内存,为什么要有虚拟内存,进程的虚拟内存联系起来 (盲区。。。)
HasnMap和ConcurrentHashMap的区别
内存可见性(我当时回答大致说每个线程对应一个cpu,每个cpu有自己的cache,cache和主存之间通过总线缓存协议维持一致性,不知道对不对)
还有几个简单的基础底层
算法题:将一个句子的每个单词原地翻转,不难,但是面试官看着我一行一行敲完,敲完就把我的错误全部指出一遍跑通(堪比调试器 🤣这面试官以前莫不也是java的)
提问,问完当场说下午安排2面。
(算法还好,运气好不难,面试官把控的很好,很多学过的操作系统那些都快忘了也会去引导你慢慢想起来)
-----------------------5.11 下午二面40min
面试官全程半站着,可能坐着累了。
自我介绍,当我说到java时直接打断,说他们是go和c++,然后继续面试。。。
做道题吧!( 🤣)
算法:一个数组,有重复的数字,找3个和为0的数。
当时做了很久,调了很久,面试官也帮着找问题,用的比较麻烦的办法,最后还是没调通,下来自己找到问题了调通了(😐一做算法就紧张),O(n^2),下来看了可以用双指针就很简单也是O(n^2)
聊项目,聊了几个简单业务
面试官:随便问了哈( 🙃裂)。。。
tcp,udp,老八股
消息队列用过吗,RabbitMQ,为什么用它(面试官表示它以前很常用)
k-v存储用过什么,redis,过期机制,rehash是什么,redis的虚拟节点(这个不知道,下来也没查到,有知道的写评论区可以吗谢谢泥 😅)
数据库的主从原理,具体是怎么监听binlog日志的
能实习多久,什么时候可以来。这2天等hr通知。
--------------------------5.13 HR面10min
hr是一个大四学姐,也是实习生,长得很漂亮甜静的那种一笑就两大虎牙,室友蹲我旁边全程盯着看。。。
学姐全程时不时忍不住笑( 😂我全程都很严肃认真),问平时表现,自己的优缺点,喜欢团队开发吗,生活中有遇到什么问题怎么解决的(学姐不要太官方,面后想想她为什么忍不住笑,可能她也 实习没多久吧,不会是对着白纸调问题吧🤣,之后微信聊天:我还是很专业的嘛,咋听着这么不靠谱泥 🤣))
等结果(学姐说说offer审批)