面试者背景简介
双非末流一本,大三,软件专业(Java),有百度实习经历
面试情况
十面阿里,总共分为阿里云四面,蚂蚁两面,菜鸟四面;
七面头条分为金融三面,抖音一面,效率工程三面;
六个Offer分别是阿里、腾讯、头条、华为、蘑菇街、三七互娱
从二月份在牛客网看到阿里云的招聘贴就投了,那是我最早投递的公司,当时也没什么经验,导致表现得很糟糕,最后四面跪,当时伤心到谷底,幸好跪得比较早,跪了之后简历被释放掉,还可以继续内推。
整个春招持续了4个月,对自己意志也是一个很大的挑战。我也有幸能与那么多优秀的人一起并肩作战,让我坚持到最后一刻,感谢有你们。
这个春招也遇到了很多奇怪的公司,比如说美团不知为何不给内推,CVTE笔试刷掉有实习经历的,吉比特挂得莫名其妙,网易玄学招人,京东20分钟面试,华为聊天招人
面试结果
面试详细过程
阿里巴巴
一面(36分钟)芝麻信用
1.hashmap和hashtable区别
2.为什么产生死锁
3.jvm类加载
4.java反射获取私有属性,改变值
5.反射用途
6.所用数据库
7.项目难点,问题
8.如何解决项目中遇到的问题
9.项目中遇到最自豪的地方
10.会什么算法
二面(44分钟)支付宝创新
1.讲项目
2.数据库乐观锁使用
3.状态机
4.如何解决状态机不对问题
5.如何分库分表
6.MySQL极限
7.HashMap源码
8.设计一个线程安全的HashMap
9.快排的实现,时间复杂度和空间复杂度
10.会什么算法
11.如何把项目变成SOA架构
12.Spring源码,最深刻的模块,aop用途
13.JVM内存模型
14.垃圾回收机制
15.项目中查看垃圾回收
三面(33分钟)菜鸟国际
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
四面(36分钟)菜鸟国际供应链
1.HashMap在大量哈希冲突该怎么处理
2.红黑树比BST优点
3.MySQL为什么使用B+树
4.多个索引会有多份数据吗
5.数据库的隔离级别和解决的问题
6.数据库默认隔离级别,一定会产生幻读吗,怎么解决
7.输入网址到展示的整个过程,结合springmvc来讲
8.负载均衡的算法
9.哈弗曼编码,如何解决译码问题
10.实习会对工作有影响吗
11.用英文介绍一个项目
12.如何查看系统负载
13.描述一个解决问题的过程
14.如何把文件从服务器复制到本地,用什么命令
五面(27分钟)菜鸟技术部
1.当时怎么找到百度这个机会的
2.项目中用的哪些技术
3.项目如何设计流程流转,如果是你的话该怎么设计
4.MySQL使用的索引结构,查找效率
5.MySQL查询优化
6.MySQL慢查询开启,语句分析
7.HashMap查找效率
8.JVM内存模型
9.设计模式,策略模式的使用场景
10.如何确保单例线程安全
11.Spring的bean的默认范围
12.对Netty的了解
13.未来发展规划
14.如何让代码可读性更加复杂
六面(22分钟)HR面
1.说一下发展方向
2.说一下经验不足导致的问题
3.说一下挑战杯的工作内容
4.说一下你给挑战杯项目的主要贡献
5.实习时间
6.拿到了哪些offer,你是怎么考虑的
7.为什么不选择腾讯
8.腾讯技术栈和阿里技术栈的区别
今日头条
抖音一面
1.手撕LFU,要求get和put都为O(1)
2.在一个环状的城市,小偷可以选择偷或者不偷任意一家,但被偷的房子不能相连,求最大价值
效率工程一面
1.储水题
2.如何找项目性能瓶颈
3.有多少种类型的缓存,从客户端到服务端
4.如何查看系统性能,性能指标
5.redis数据类型
6.redis的aof太大如何优化
7.mysql的主从复制
8.mysql的引擎,区别
9.https的建立链接过程
10.https的传输数据是否是对称加密
11.tcp拥塞控制
12.epoll和select
13.nginx如何处理连接
14.nginx如何做性能优化
15.apache和nginx区别
16.两支不均匀香,测出15分钟
效率工程二面
1.手写LRU
2.查看系统负载
3.进程通信方法
4.管道如何使用
5.socket建立过程
6.如何高效处理socket
7.NIO的原理和,连接切换方式
8.使用什么命令查看系统负载,第一行是什么
9.一个表user_id,order_date,要查用户订单,某一天订单,某个用户某天订单,如何建索引
10.复合索引的结构
11.redis的常用数据结构
12.zset的底层数据结构,跳跃表如何实现
13.redis如何持久化RDB
效率工程HR面
1.怎么找到百度实习和第一份实习
2.如何处理学业和实习
3.讲一下项目中沟通协作的过程
4.如何你是owner你是怎么设计这个项目
5.拿到了什么offer,如何考虑
蘑菇街
一面
1.凤聆的权限管理如何设计
2.如何将9s提升到0.3s
3.用没有了解过其他搜索框架例如solr
4.有了解过协程吗?轻在哪
5.jvm查看gc命令
6.如何解决jvm的问题
7.mysql in,not in,like走不走索引
8.开发环境,开发IDE
9.使用什么命令查看cpu和内存情况
10.如何查看进程的线程情况top -H -p
11.秒杀场景设计
12.秒杀时如果机器资源有限怎么办
13.可以保证实习时间
14.对自己未来的规划
二面(小程序部门)
1.父母对来杭州有没有意见
2.会考虑转正吗
3.老师或者同学会怎么评价,如何体现技术比较强
4.大学中最自豪的一件事
5.项目中解决的一个问题
6.Nginx超时怎么办
7.mysql索引相关
8.%匹配实现原理
9.获取www.baidu.com最后一个点的内容"com"最优方法,为何,时间复杂度,如何实现
HR面 1.深层介绍自己
2.对你影响比较深的一个人
3.想成为怎样的人
4.最有成就感的事
5.最近的挫折
6.怎么发现瓶颈
7.学校和工作环境有什么不同
8.周围同学比较,有什么优势
三七互娱
一面
1.Bean的生命周期
2.Atom类实现原理
3.多线程实现
4.Thread和Runnable区别
5.volatile特性
6.happens-bofore原则
7.消息队列,kafka
8.如何确保形成安全
9.HashMap初始大小,红黑树何时退化为链表
10.Actor,Akka和RingBuffer
11.冒泡排序
12.JVM内存模型
13.垃圾回收机制
HR面
1.有没有面其他公司
2.薪资待遇期待
3.上一份工作为何离职
商汤
一面
1.看过JDK源码吗
2.HashMap增删查和数据结构
3.MySQL慢SQL查询和优化,如何排查问题
4.MySQL引擎和区别,引用场景
5.redis集群,如何拓展
6.mongodb和redis区别
7.单例模式的实现,是否只拥有一个实例
8.SpringCloud生态
9.介绍一下Elastisearch,原理和用途,分布式实时日志才需使用ELK
10.有用过线程池吗
11.介绍JVM垃圾回收机制
吉比特
一面(游戏运营开发,账号安全)
1.有参加acm吗
2.怎么去百度的
3.mysql用什么锁,行级锁有什么缺点
4.mysql优化
5.比较两个数相同位数
6.如何体现对技术的热爱
7.ArrayList和数组区别,调用add方法会调用哪些其他方法
面试感受
春招是一个很刺激且很折磨人的过程,你可能会遇到各种奇奇怪怪的公司,但只有不断提升自己的实力,才有更大可能拿到Offer,拿不到Offer的小伙伴也不要气馁,毕竟秋招才是重头戏,还有那么长的时间可以准备,我相信你春招过后也知道自己哪方面比较薄弱。
面试总结
技术基础必须扎实:算法、数据结构、操作系统等,蚂蚁金服面试对技术的基础非常重视,基础扎实的同学有利于在前两轮突出重围。
技术宽度:主要集中在高并发、多线程、分布式架构,大以及常用中间件(缓存等)的选型和比较。
技术原理深入:重点还是提前准备好JVM、多线程高并发这块。
参与的项目总结:你需要清楚你所做项目的关键细节、优化、特点、原理。
很多所用第三方库&中间件等的原理,即使你不知道,也要有自己的想法能够说出如何代替实现,比如单点登录的替代方案。
最好,提前准备一个大数据访问,比如pv扩大1000倍,你的架构或者技术方案应对措施。
最后,千万不要倒在HR面试环节,避重就轻是重点,特别是优点和缺点,如果问到你的规划是什么,请记得一定告诉HR你想成为一名优秀的技术专家!