【面经】超硬核面经,已拿蚂蚁金服Offer!!

3,035 阅读4分钟

写在前面

很多小伙伴都反馈说,现在的工作不好找呀,也不敢跳槽,在原来的岗位上也是战战兢兢!其实,究其根本原因,还是自己技术不过关,如果你技术真的很硬核,怕啥?想去哪去哪呗!这不,我的一个读者去面试了蚂蚁金服,HR小姐姐让他下周入职!

注:二狗子,我的一名忠实读者,很勤奋,我的每一篇文章他都是必读的,后来由于经常交流技术,成为了比较熟悉的网友,二狗子也是我给他起的外号,哈哈。这次他拿下了蚂蚁金服,跟我说:面试中大部分的问题我公众号中的文章都有涉及到。哈哈哈,很开心的有木有?!

关注 冰河技术 微信公众号,学习更多超硬核技术!!

介绍二狗子

今年的疫情期间,二狗子就一直在家复习,学习各种知识技能。我也是在疫情期间,开始发力写公众号。就在这时,二狗子关注了我的公众号,我没更新一篇,他便读一篇,遇到了问题,在微信上各种问啊,说实话,有时候,我都有点烦他了!不过,转念一想,有这样忠实的读者确实难得啊!于是,我们就一直讨论技术。从那时起,二狗子的目标就是蚂蚁金服!后来,从聊技术到聊人生、谈理想。成为了很要好的朋友!

面经分享

二狗子拿到蚂蚁金服的Offer后,第一时间在微信上告诉了我,高兴的那叫一个嘚瑟啊!说实话,我也很替他高兴。这次,二狗子非要让我把他的面经分享出来。确实,能进蚂蚁金服还是需要一些实力的,下面,我就把二狗子这次的面经给大家分享出来,大家看看如果是你去面试蚂蚁金服,是不是也能顺利拿到Offer呢?欢迎文末留言!!

一轮技术面(90分钟)

1.hashmap和hashtable区别 2.为什么产生死锁 3.jvm类加载 4.java反射获取私有属性,改变值 5.反射用途 6.所用数据库 7.项目难点,问题 8.如何解决项目中遇到的问题 9.项目中遇到最自豪的地方 10.会什么算法

二轮技术面(120分钟)

1.讲项目 2.数据库乐观锁使用 3.状态机 4.如何解决状态机不对问题 5.如何分库分表 6.MySQL极限 7.HashMap源码 8.设计一个线程安全的HashMap 9.快排的实现,时间复杂度和空间复杂度 10.会什么算法 11.如何把项目变成SOA架构 12.Spring源码,最深刻的模块,aop用途 13.JVM内存模型 14.垃圾回收机制 15.项目中查看垃圾回收

三轮技术面(150分钟)

1.ConcurrentHashMap底层原理? 2.手写一个LRU(用LinkedHashMap) 3.HashMap底层数据结构? 4.JDK1.8中的HashMap为什么用红黑树不用普通的AVL树? 5.为什么在8的时候链表变成树? 6.为什么在6的时候从树退回链表? 7.线程池7个参数,该怎么配置最好? 8.说一下volatile 9.volatile的可见性和禁止指令重排序怎么实现的? 10.CAS是什么?PriorityQueue底层是什么,初始容量是多少,扩容方式呢? 11.若原始大小<64,则扩容为原来的2倍+2,不然就扩容为原来的1.5倍 12.HashMap的容量为什么要设置为2的次幂? 13.你知道跳表吗,什么场景会用到? 14.CopyOnWriteArrayList知道吗,迭代器支持fail-fast吗? 15.innodb的底层数据结构? 16.为什么用B+树不用B树? 17.为什么用B+树不用红黑树? 18.coding:无序数组怎么寻找第k大的数,写一个二叉树层次遍历 19.不知道大小的数据流取其中100个数,怎样的取法能最随机 20.n个物品每个物品都有一定价值,分给2个人,怎么分两个人的价值差最小

四轮技术面(120分钟)

1.项目中的权限管理 2.登录状态如何储存 3.session和cookie的区别,session如何管理 4.HashMap底层结构 5.synchronized关键字的用法 6.synchronized修饰类方法和普通方法的锁区别,获取类锁之后还能获取对象锁吗 7.类加载器的双亲委派模型的作用,能重复加载某个类吗 8.类加载器的类的缓存,key是什么 9.介绍Redis 10.如何将数据分布在不同的Redis 11.有了解过取余算法? 12.spring的apo实现 13.字节码结构 14.浏览器输入网址过程,结合springmvc

五轮技术面(120分钟)

1.HashMap在大量哈希冲突该怎么处理 2.红黑树比BST优点 3.MySQL为什么使用B+树 4.多个索引会有多份数据吗 5.数据库的隔离级别和解决的问题 6.数据库默认隔离级别,一定会产生幻读吗,怎么解决 7.输入网址到展示的整个过程,结合springmvc来讲 8.负载均衡的算法 9.哈弗曼编码,如何解决译码问题 10.实习会对工作有影响吗 11.用英文介绍一个项目 12.如何查看系统负载 13.描述一个解决问题的过程 14.如何把文件从服务器复制到本地,用什么命令

六轮技术面(90分钟)

1.讲讲你所了解的JVM垃圾收集算法 2.项目中用的哪些技术 3.项目如何设计流程流转,如果是你的话该怎么设计 4.MySQL使用的索引结构,查找效率 5.MySQL查询优化 6.MySQL慢查询开启,语句分析 7.HashMap查找效率 8.JVM内存模型 9.设计模式,策略模式的使用场景 10.如何确保单例线程安全 11.Spring的bean的默认范围 12.对Netty的了解 13.未来发展规划 14.如何让代码可读性更加复杂

七轮HR面(40分钟)

1.说一下发展方向 2.说一下经验不足导致的问题 3.说一下挑战杯的工作内容 4.说一下你给挑战杯项目的主要贡献 5.实习时间 6.拿到了哪些offer,你是怎么考虑的 7.为什么不选择腾讯 8.腾讯技术栈和阿里技术栈的区别

重磅福利

关注「 冰河技术 」微信公众号,后台回复 “设计模式” 关键字领取《深入浅出Java 23种设计模式》PDF文档。回复“Java8”关键字领取《Java8新特性教程》PDF文档。回复“限流”关键字获取《亿级流量下的分布式限流解决方案》PDF文档,三本PDF均是由冰河原创并整理的超硬核教程,面试必备!!

好了,今天就聊到这儿吧!别忘了点个赞,给个在看和转发,让更多的人看到,一起学习,一起进步!!

写在最后

如果你觉得冰河写的还不错,请微信搜索并关注「 冰河技术 」微信公众号,跟冰河学习高并发、分布式、微服务、大数据、互联网和云原生技术,「 冰河技术 」微信公众号更新了大量技术专题,每一篇技术文章干货满满!不少读者已经通过阅读「 冰河技术 」微信公众号文章,吊打面试官,成功跳槽到大厂;也有不少读者实现了技术上的飞跃,成为公司的技术骨干!如果你也想像他们一样提升自己的能力,实现技术能力的飞跃,进大厂,升职加薪,那就关注「 冰河技术 」微信公众号吧,每天更新超硬核技术干货,让你对如何提升技术能力不再迷茫!