货拉拉Java实习一面

3-3号下午四点多投。
原本还是摸鱼,一边听B站直播讲RNB打微博,听shy哥被单杀(在看看GitHub上的RPC怎么写)
没想到晚上差不多八点的时候,面试官就打电话给我,问是什么时候有时间?
第一反应是特别紧张?三月份开始投简历,大厂一个都不敢投,第一次有人回应。
我就全都瞎说,“这两天可以吗?”“明天可以吗?”“电话面还是视频面”,然后就3-4号下午四点面了。
因为是电话面的缘故把,没有做题,所以没有敲代码时的手抖,加上语言组织也是一边想一边说(这一点在反问时有给我建议)

面试时间记录了下是1时16分钟。面试管挺和善的,场景题也有提醒一下。

1.自我介绍
说了下大学经历,拿过过区域赛铁牌,大二下后跑路学Java
2.说说你在Java方面比较熟悉的部分
瞎说,并发其他方面都有所学习。(但除了微服务,计网和OS,但全部都问了)
3.你刚刚说到了JVM,简单说说内存区域
程序计数器,虚拟机栈,本地方法栈,堆,方法区(元空间)
4.你刚刚提到了虚拟机栈,再仔细说说
局部变量表,操作数栈,动态连接,方法返回
5.说完了栈,我们接着聊聊堆
新生代老年代,新生代8:1:1,对象分配,垃圾回收
6.说到垃圾回收,你用过什么垃圾回收器吗?
只用过默认JDK1.8的CMS(其实是 Parallel Scavenge + Parallel Old)
7.那G1呢?
说了下,自己不是很熟悉,然后就瞎说,整体-局部-对象活跃...
8.聊完JVM,那我们说说并发,多线程那些,说说你的理解
我给自己挖坑,然后说Synchronized,CAS和AQS都有了解过。
然后就开始漫长的解释,Synchronized从偏向锁,轻量级锁到重锁;说CAS,定义和ABA问题;说AQS,虚拟双向队列和CAS维护state。
9.你刚刚提到了ReentrantLock,其中其中可以中断/打断,打断后会不会线程结束?
这道题我不会,就瞎说,不会结束,类似线程的wait,sleep,join,yeild方法,然后就再接着解释,这种的方***不会释放锁或资源,被notify,和Interrupted后...
10.你知道ThreadLocal吗?
线程创建副本,各个层方便用,再说说了内存泄露问题
11.说说Java中的集合Map?
说了下底层数据结构的变化,说了下get,put方法,每次都是扩容2倍数,说了下hashset是由hashmap实现的
12.为什么hashmap底层先是链表后才是红黑树
扯了下维护红黑树追求效率高的前提是数据量大,数据量小时,维护从根节点到节点红黑节点个数相同,需要左旋和右旋需要时间和空间开销。
13.那接着聊聊数据库,指导数据库事务吗?
然后开始扯RR隔离级别的MVCC由ReadView和undo log一些东东实现
14.刚刚提到了log,你还在别的log吗?
说了下redo log重做日志-物理,bin log归档日志-逻辑,再提了下MySQL实际上是两段提交,也就是两次redo log
15.说说索引
主键索引和二级索引(辅助索引)定义和过程,使用B+树而不是B树的好处
16.索引失效知道是什么情况吗?
组合索引,最左匹配
17.创建索引需要注意什么?
....吹了几个
18.说说数据库中的锁吧,你知道几个?
共享锁,排它锁,行锁,间隙锁,意向锁,行锁+间隙锁,解决幻读
19.数据库锁的场景题
表t有主键id,和列A,B,C
问select * from t where a = 1 for update 和 select * from t where id = 1 for update
分别锁的是什么(只会背书,不会做题呀,面试官提示了下,瞎说a=1锁表,id=1锁行)
20.我们平时使用的数据库都说千万上亿级别的,你会怎么处理?
先说了下,我只知道MySQL数据库也可以主从复制,通过bin log更新数据。
21.大数据怎么处理表呢?
水平分割,垂直分割
22.追问按照时间段水平分割处理表格有什么不好的地方?
不便查询,没有想到更好的优化方法,估计只能(加钱)换更好的服务器
23.说了这么多,你会别的框架吗?
瞎说spring,spirng boot,然后就开始问bean的生命周期。
真心不会呀,只记得实例化bean,通过set设置属性,然后传入spring设置bean的id,接着beanfactory设置属性名....后面记不清楚了,知道有自定义init-methon方法,知道有个接口post....啥的方法可以用来预热缓存
24.你还知道spring其他属性吗?
说了下AOP,用过AOP做过日志操作处理,说了下继承和AOP的区别,说了下JDK代理的实现
25.还用别的框架吗?例如你项目写的MQ
哦,不会MQ,只是用过rabbitmq,知道它默认宕机后消息不会丢失会留在文件中存储
26.知道double吗?
哦,不会呀,只是最近在学RPC,在尝试用netty手写个简化版的
然后让我说说一下简化的过程,说的很不好,感受到面试官的感叹了
27.在高并发的过程中,会用很多东西,知道redis的rehash机制?
当时我傻了,我当时看《Redis设计与实践》时看到这个东西贼长贼臭就跳过了。原本想扯hashmap的扩容过程的,但是被面试管发现意图,打断了。直接说不会了。
28.知道redis的集群吗?
不会,只会简单的主从复制和哨兵,然后就瞎扯RDB和AOP,接着说心跳机制和主从切换(反正说的很乱和潦草)
29.然后就开始问项目了,说了下我简历上的简易秒杀
问,你说说自己的亮点?分布式锁+LUA,令牌捅算法解决并发
再接着问,如果解决超卖?我人傻了,因为我也忘记了,我当时对着视频和GitHub抄,一时忘记,然后瞎扯数据库建表用唯一索引,执行sql语句,Redis删减...然后不对
30.反问,说了下第一次面试,问问努力的方向
项目经验少,可以找几个真的项目看看(我也知道我一个学生写不好秒杀,当真没项目)
有些问题,可以先组织下再回答(不会肯定乱答啊)
然后就是说辛苦了,基础还可以,接着就是问能实习到什么时候。uo

#货拉拉实习##面试题目##货拉拉#
全部评论
好强
1 回复 分享
发布于 2022-03-10 10:48
迪爷好强啊,稳了这波
1 回复 分享
发布于 2022-03-10 17:59
祝楼主好运! <br /> 阿里巴巴盒马鲜生JAVA23届实习内推,部门HC充足,面试流程快,可全程跟踪,欢迎投递哦~邮箱cangliao.wzy@alibaba-inc.com  链接里面有投递二维码和微信哦,欢迎咨询. https://www.yuque.com/u12501101/kb/zm6mzr
点赞 回复 分享
发布于 2022-03-08 22:39
厉害
点赞 回复 分享
发布于 2022-03-08 23:39
1.8默认是ParallelGC
点赞 回复 分享
发布于 2022-03-09 10:28
秒杀+rpc项目吧 23能这样相当可以了 秋招大厂稳稳的
点赞 回复 分享
发布于 2022-03-09 15:01
哪个部门呢
点赞 回复 分享
发布于 2022-03-09 20:48
暑期实习嘛
点赞 回复 分享
发布于 2022-03-13 23:32
请问在哪里投的货拉拉??
点赞 回复 分享
发布于 2022-03-26 08:58
在哪里投的老哥
点赞 回复 分享
发布于 2022-04-04 22:50

相关推荐

Java抽象带篮子:安卓怎么你了
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
评论
18
72
分享
牛客网
牛客企业服务