成都蚂蚁金服Java实习面经+吐槽

二面面经(1h35min)

1.自我介绍
2.什么时候开始学java
3.为什么学java
4.怎么学习的,学习历程讲一下
5.平时写过什么代码?关注过什么开源社区?看过什么开源项目?
6.数据库索引结构,为什么用B+树,还有其他的索引结构可以使用么?
7.JVM内存模型,新生代和老年代之间有什么关系?什么时候对象会放进老年代?一个static的hashmap会放进那个代?一个放进threadlocal的hashmap会放在新生代还是老年代?(灵魂拷问,我都要哭了)
8.怎么停止一个线程?如果你一个线程链接服务器的时候,我服务端无限挂起,用interrupt()可以正常停止线程么?
9.HashMap怎么防止哈希冲突的,还有什么方法?
10.装饰器模式和代理模式?用装饰器模式和代理模式同时去实现一个对象的get方法,这两个是有什么区别?JDK中哪里用到了装饰器模式,哪里用带了代理模式?
11.NIO的过程,过程中使用的东西都是什么?(其实我没理解面试官的意思,我讲了操作系统中的文件描述符绑定过程)
12.tcp粘包。NIO过程中tcp粘包。(不会)
13.tcp四次挥手,哪个环节可以连接重置?链接重置是什么?
14.写题:实现一个LRU。阿里伯乐系统,不让我用IDE,直接手撕。其实平时自己写的时候还是挺顺利,在面试情况下还是有点卡壳,好几个地方大脑一片空白。其中get的时候忘了判断是不是null,面试官提醒了我,我抛了个异常,面试官说抛异常好么?这个是一个数据库缓存,你拿到空该怎么办?我赶紧改成return一个null。
15.写题:多线程赛跑问题。用多线程实现,5个运动员赛跑,一个裁判,满足:5个运动员必须同时起跑,裁判必须等所有线程跑完才能进行下一步操作,只要有一个运动员摔倒就直接全部线程停止。
16.实习的时间。
17.你来蚂蚁实习最想得到什么?
18.你有什么要问我的。
PS:这一面要把我面哭了,上来问我你本科不是985和211吧,你研究生也不是吧。我确实不是啊,光明正大歧视我。还有的问题想不起来了,这个面试官喜欢把知识点结合到一起出场景题问,许愿下一面。
————————————————————————————————————————————————

4月29一面之后,被二面的面试官鸽了好几次,到现在还没面上,感觉他们真的好忙啊,成都蚂蚁加班名不虚传。
不过面试官都还挺好的,可以一直推,据说腾讯一推就挂了。
许愿明天面试顺利


-------------------------------------------------------------------------

电话一面(4.29)

今天早上10点打电话来要直接面,我当时正在睡觉啊,一脸懵逼,赶紧和小哥商量改成下午清醒一下。小哥人很好,改成下午面了。感谢感谢。
1.自我介绍
2.先来聊聊多线程吧,先说一下为什么要多线程?多线程有哪些实现方式?
继承Thread,实现Runnable接口,线程池,Callable
3.你刚才说的其实除了线程池开发中都不用,都是学习的时候用的,那你说一下你了解哪些线程池,还有线程池的一些关键参数吧。
balabala
4.那你说一下线程池什么时候提交任务会进入队列
balabala
5.说一下提交任务之后,线程池创建线程和处理任务的几个过程。
balabala
6.线程安全是什么?为什么会出现线程安全的问题?(为什么线程数据之间不共享?)
线程有自己的工作空间
7.看你写了了解数据结构。Map了解过么?HashMap,讲吧,能讲多少讲多少
balabala
8.如果我自己写了一个类,把对象放入HashMap中,需要注意什么?
重写hashcode和equals方法。(自己挖坑)
9.那给你个场景,如果我两个对象的hashcode一样,equals不一样,put进Map会发生什么,拿出来的时候呢?hashcode不一样,equals一样会发生什么?
这个地方卡了好久,最后想到是put的源码中先判断hashcode,再判断equals的问题。
10.HashMap为什么线程不安全,想要线程安全怎么办?
HashTable和ConcurrentHashMap
11.讲吧,这两个都讲一下,为什么你刚才说HashTable性能不好,ConcurrentHashMap怎么保证线程安全的
12.继续,LinkedList了解么?底层是什么样的?各种操作的时间复杂度。
我这里说了get操作是O(n),面试官说不对。我真没看过底层,我按普通链表说的。
13.那你优化一下get操作,先告诉你JDK中LinkedList不是O(n)。
我:???链表还能不是O(n),这超出我的理解范围了。
14.给你点提示,双向链表,元素个数也知道。
我:难道是看一下get的index离头近还是离尾巴近,哪里近从哪里遍历?O(n/2)?
面试官:对,就是这样。
我:学习了!(内心:这难道不也是O(n)么,老师说常数可以省略的。。。
15.看你写了框架,Sping的AOP,AOP底层怎么实现的?(我只是写了了解,我真没用过)
16.你看过源码没有?
没有,Mybaitis看过一点点,Spring没看过。(自己挖坑)
17.那你将一下Mybaitis的ORM过程,怎么实现的。
18.数据库怎么查看库中所有的表?
我:????这什么问题,show tables?
面试官:对
19.了解数据库引擎么?
我:了解InnoDB和MyISAM
面试官:讲一下特点和区别
20.InnoDB的索引数据结构了解么?如果不是主键索引,二级索引的结构是什么样子?(就是聚簇索引和非聚簇索引)
21.数据库事务,特点和隔离级别,会出现的各种问题,幻读是什么?(来了来了,数据库三连发)
22.来聊聊计网吧:三次握手过程,cookie和session是什么?
(这里我是背的,但是面试官觉得不对) HTTP协议是一种无状态的协议,我们可以使用cookie和session来保持会话状态。用户发起请求,服务端收到请求处理后可以生成一个sessionId,并且将sessionId存入cookie中返回给客户端,将session的内容存储在服务器上。在下一次的请求中,客户端带着cookie来请求服务器,服务端从cookie中取出sessionId,实现了用户会话状态的保持。这样做有一个缺点就是将一些东西存在了服务器上,在用户量较大的情况下,服务器容量会不足。实际情况中,经常是将所需要的会话状态,比如说登录态直接存入cookie并且返回给客户端,下次请求时,服务端直接取出cookie中的信息和参数信息进行比较,保持HTTP会话状态。总结:session保存在服务端。cookie保存在客户端,并且cookie有大小限制。
23.项目相关,为什么想转专业?(我本科化学,研究生电子)
24.讲一下项目中遇到的困难,吸取的教训,有什么可以改进的地方?
25.讲一下笔试题吧,当时怎么想的,现在有思路么?下来有优化么?
我:有有有。(还好笔试完在牛客看了几个大佬的思路)
26.今天就到这吧,有什么想问的?

#2020年蚂蚁金服春招##蚂蚁集团##实习##面经##Java工程师#
全部评论
所以那个笔试题是什么
1 回复 分享
发布于 2020-11-25 12:00
这是一面么..
点赞 回复 分享
发布于 2020-04-29 22:57
没让做算法题么
点赞 回复 分享
发布于 2020-04-30 11:23
楼主过了没
点赞 回复 分享
发布于 2020-08-16 18:02
老哥你在哪找的成都蚂蚁金服实习招聘的?
点赞 回复 分享
发布于 2020-08-19 10:33
13就是O(n)吧。。
点赞 回复 分享
发布于 2020-09-02 19:46

相关推荐

12-01 14:53
已编辑
西安电子科技大学 Java
投票
字节测开 测开 (n+3)*15,公积金12%
弯刀划过红玫瑰:方便学习一下面经吗老铁
点赞 评论 收藏
分享
12-04 11:49
已编辑
中国戏曲学院 Java
2024-11-27 一面1、自我介绍2、介绍一下项目(挑一个点)3、手撕最长公共序列4、手撕最长公共前缀5、手撕SQL一道( 求满足所有价格大于500的店铺)SELECT A.SHOPFROM Database AS AGROUP BY A.SHOPHAVING MIN(A.price) >= 500;6、讲一下violate关键字7、String的+和StringBuilder的加有什么区别8、for循环里拼接字符串会有什么问题9、new一个string对象,创建了几个字符串对象10、讲一下java集合,挑一个讲讲11、循环删除list的元素,怎么实现12、synchronized和Lock有什么区别13、Lock的等待和唤醒是怎么实现的14、java项目垃圾回收器是哪种15、你的jdk是什么版本16、G1垃圾回收器的回收过程17、并发失败是什么情况18、一般在项目中哪些字段加索引反问:1、您对我的面试有什么建议2、贵公司的业务3、手撕做的怎么样(面试官说主要看思路)4、后续是否还有面试1面过——————————2024-11-28 hr面1、自我介绍2、高考成绩3、考虑过考研/保研4、你参加的竞赛难度怎么样5、你参加竞赛前会准备吗,还是自己的积累6、组队参加比赛,组内的角色是什么7、每天学习的时候会制定规划吗8、你每天会学习多久9、你平时是怎么学习10、接触新技术的时候,是怎么样的新技术11、最近在学什么内容12、你怎么规划自己的项目安排13、做项目会给制定计划吗14、团队开发的时候有人拖后腿怎么办15、给自己打多少分16、参加过实习吗17、你觉得什么时候压力比较大18、你觉得自己的抗压能力怎么样19、一项任务比较困难,你属于一定要完成还是过程就行20、你参加竞赛是是有什么规划吗21、介绍了一下公司大概给多少米和房补餐补反问:1、您对我的面试有什么建议hr面过,等待技术二面(估计得下周了)————————————2024-12-02一大早上约面,被告知没有位置了,目前没有需求,但是ssob上还挂着。2024-12-04问hr后续有无机会,hr委婉告诉我没有警示:1、尽快约面,面试的事情别拖到下周,夜长梦多2、说以后能否转正,一定要说会转正,我估计我回答的太笼统太保守也可能是导致我突然被挂的原因#面试#
查看88道真题和解析
点赞 评论 收藏
分享
12.2:梳理内容管理模块,优化了部分代码的结构,原先的异步发送邮件,已经存在了一个异步方法,就不需要自己再调用CompletableFuture去异步运行,整个项目统一代码风格。12.3:完成了不登陆留资的发布,在这次review代码后,我学到了以下要点:1、在command对象中设置默认值时,也不能使用魔法值,需要定义常量或者枚举;2、对于枚举和值的匹配,应该在枚举中提供一个根据id取值的方法;12.4:留资功能上pre后,出现了一个bug,在组装类中没有对对象进行非空判断,出现了空指针异常,导致用户数据没有推送到OCRM,我以后会注意对象的非空判断。12.5:完成了内容模板的路由设计,以及创建实体类,完成了创建页面接口。这天孙老师给我指出了一个问题,我将所有用户相关的sql都写到了一个mapper里,一开始是因为涉及其他表的sql不多,想偷点懒,但是后面用户相关的四张表都塞到了一个userMapper里,导致它非常臃肿,所以我将其他表的sql拆开,每张表对应一个mapper,这样结构就清晰明了。12.6:完成了内容模板的页面设置,将创建用户发布到pre。review创建用户这个代码的时候,我的一个查询接口没有做到通用性。在孙老师的提醒下,我学到了接口设计最好能做到以下原则:查询一般只有两个接口,一个单对象,一个列表对象,通过对象数属性去控制,否则接口越来越多,项目会很臃肿,不利于维护;
点赞 评论 收藏
分享
评论
2
62
分享
牛客网
牛客企业服务