阿里菜鸟Java后端开发一面面经

2022.3.11 时长50分钟 电话面试 是个年轻的小哥哥 面试体验很好

自我介绍
项目是自己做的还是课程设计?
学校有教spring boot?    (当然没

来问下基础知识吧
计算机网络
tcp和udp有什么区别?    (八股
网页输入一个网站的过程?前后端发生了什么?    (讲了八股
你能详细说下前端后端发生了什么,比如你现在的spring boot发生了什么?    (讲了下dispatchservlet流程
你知道spring mvc?    (底层没看过
http和https有什么区别?    (八股,讲了https握手过程

操作系统
线程跟进程的区别?    (八股,讲了虚拟内存

你觉得你学习对哪些方面比较熟悉?    (操作系统和数据库    (不是,学不会🤣

数据库
那你学的数据库有哪些?    (学校开的mysql和自己学的redis
mysql的引擎?    (innodb
为什么要用innodb呢?    (讲了跟myisam的区别,支持事务,变成了行锁,提到了以b+树作为默认索引结构
那为什么用b+树呢?    (两方面 ,减少io次数,叶子节点按序双向连接,支持范围和顺序查找,讲了跟b树的区别
数据库的主键用什么来做?    (听成了组件😂,讲了特性,会建立聚族索引
我说的是会用什么类型?int还是varchar?     (说了int,讲了应该选择区分度大的,内存空间占用也应该小
int和varchar的核心区别是什么?除了你刚刚说的    (方便范围查找,根据值大小?
那varchar没有大小吗?     (支支吾吾,经典下来再看看
你刚刚说了索引不能拿区分度不大的,还有字节大小,那我们用什么做联合索引呢?     (提到了根据业务需求,应该满足最左匹配原则abc
你刚刚说到了最左匹配原则,那原理是什么呢为什么123,不能匹配2?     (啊,我想想,面试官提示没事,不会就可以过,我说我再想想,我说我们对abc构建索引,先查a是有序的,然后再查b所以也是有序的,如果直接查b就是无序的
你说的是对的,但是应该结合结构来说    (下来再看看
mvcc是什么?     (八股
mysql用的是mvcc吗?     (是吧
那他怎么做的?     (提到了快照读+版本控制链,判断可见不可见,感觉这儿讲的不是很清楚

为什么要用redis,项目中为什么要用redis?     (操作在内存,数据结构,提到了项目中查询很频繁,对数据库的压力很大,提到了点赞,关注用到了zset
那你zset的数据结构知道吗?     (跳表+哈希,实现范围的查询和单点的查询
你刚刚说的这些,memcache也能做? 为什么用redis?     (不知道
是不是因为它比较流行?     (提到了可能比较快? 面试官问真的快吗?
面试官说不了解没事
redis缓存如何保证数据一致性? (突然忘记了,说先淘汰缓存,再更改数据库
你这样就没问题了吗?     (笑着说好像不能,提到了多线程来来查找
那有什么办法保证一致呢?     (思考了一会
我看你采用了caffe作为二级缓存,有必要吗?     
看你效率提升了这么多? 感觉数据不太准? 
我提到上面哪个问题,是不是可以使用延迟双删,淘汰掉缓存之后,操作数据库,然后删除一秒这之间的缓存的脏数据。
你刚刚说的这个是可以的,那我现在就是想这一秒也不是缓存不一样的,应该怎么做? 有什么思路吗?     (瞎说了可以放在队列里
你这种单机情况下是ok的,思路没什么问题 (我下来再看下集群
你对分布式有了解吗?     (没有,正在学
你在项目中用到了redis,但不是分布式,感觉没什么用?     (我提到了考虑分布式session,把信息存在threadlocal里面
你放在threadlocal,不会出问题吗?     (可能会存在内存泄漏?
为什么会存在内存泄漏?     (提到了threadlocalmap
所以你刚刚说的存在里面会有问题吗?     (会有问题...等我下来再看看把

问一下Java相关的问题
你用到了多线程,你项目中遇到了需要用到多线程的场景吗?     (好像还真没有,没用过,用到了线程池,定时任务
项目的问题
那你线程池怎么配的?

那你有没有遇到了什么问题? 项目中

你运行cpu飚的很高,比如你现在访问很慢,可能是什么原因?
你为什么要用kafka?
问的蛮深

反问
做的什么业务,用的技术栈?
应该从哪方面提高自己?
如果通过,后续还有几轮面试?
更看重基础还是项目? (一面可能基础,后面可能更考虑项目



#阿里巴巴##面试题目#
全部评论
老哥,这是实习吗
1 回复
分享
发布于 2022-03-12 22:22
项目Echo吧🤩
1 回复
分享
发布于 2022-03-12 23:27
联易融
校招火热招聘中
官网直投
lz之前有没有简历面
1 回复
分享
发布于 2022-03-13 09:13
楼主之前是哪个部门呀
1 回复
分享
发布于 2022-03-31 21:48
老哥第一面有手撕吗?
点赞 回复
分享
发布于 2022-03-13 20:13
楼主项目中加了caffine和redis  db那这三者怎么实现缓存一致性呀
点赞 回复
分享
发布于 2022-03-16 19:04
约后续了嘛
点赞 回复
分享
发布于 2022-03-18 12:45
阿里的问题感觉又广又深的。。。今天刚约的菜鸟一面
点赞 回复
分享
发布于 2022-04-05 20:31

相关推荐

第一次参加大厂面试,很紧张,面试过程也不像网上那些一个又一个广度问题,而是一个知识点会一直和面试官交流。一、实习/项目部分1.1 问了实习相关经历,会针对简历中提到的场景,问怎么实现的(之前没太多准备,有点没印象了,答得比较磕磕绊绊)1.2 没问项目,可能觉得我项目太简单了。二、Java基础八股部分2.1 集合相关。挑了ArrayList和HashSet,问我这两者有什么区别联系。(HashSet没深度看过!直接现场瞎编)2.2 JVM相关。垃圾回收机制,涉及到了Young区的E和S区域大小的讨论(一开始说反了,比例应该是E:S=8:1),还有标记回收算法,Old区和Young区的一些讨论,(聊了很久);还有JVM运行时区域划分,要是满了跑出什么异常(具体的)2.3 锁相关。问了Volatile和Synchronized,锁升级,升级条件(这块脑子一抽有点忘了)三、Java生态框架部分直接一上来我就道歉了,因为Spring框架八股没背、分布式什么的真的不了解,还没看到这些八股,答得真的很差3.1 分布式和集群的理解(我几乎完全说错了)3.2 Spring框架的IOC3.3 SSM 容器有哪些3.4 @Autowired和@Resource区别总结:1.  回忆的时候发现问的问题个数不多,几乎都是在和面试官交流,不知不觉面了60+mins。2. 面试官较为委婉的说了我的项目不够熟悉,基础也不够扎实,Java生态相关也不了解(总的来说好像完全不行)反思:面试官人很好,给予了我求职的准备方向,也很耐心和我聊这么多,真的很感激了~面试完没几分钟,流程结束,笔试取消。(凉的很迅速!5555)
点赞 评论 收藏
转发
6 56 评论
分享
牛客网
牛客企业服务