校招过程中的面试总结: 先写了这几个 之后会把美团、头条、滴滴和一些小公司的面经在第二个总结补充一下
A.阿里(菜鸟)二面GG
一面:40分钟
1.简单自我介绍
2.Java的面向对象怎么理解
3.简历上有写MATLAB 怎么去用的 数学建模吗?
4.集合类 hashMap源码 发生hash碰撞怎么办 1.8版本之后有什么更新 为什么用红黑树 时间复杂度
5.hashMap线程不安全体现的点 怎么变成线程安全
6.java 乐观锁实现
7.数据库隔离级别 ACID innodb引擎和其他引擎有什么区别
8.zookeeper中选举算法怎么实现的
9.avl树相关 、分球问题(8个怎么2次分出带气泡的球)
10.排行榜怎么实现
11.分布式环境中 事务一致性怎么保证
二面:95分钟 跪 问了太多机器学习的东西
1.简单自我介绍
2.项目中用到了Redis Redis的expire是怎么实现的 Redis和
3.spring怎么理解的 ioc和aop用自己的话解释一下。 aop具体实现的两种方式(源码级别) cgLib和aop动态代理各自的区别 spring中用到了哪些设计模式(源码级别 )
4.quick sort 描述一下原理 怎么优化 什么场景去使用快排 知道哪些其他排序算法?
5.解释一下神经网络是什么
6.单例模式中的double check为什么是两次判断singleton是null 去掉第一个行吗? 去掉第二个还是单例模式吗
7.word2vec skip-gram的原理 dropout的原理 ex的泰勒展开 做了多少和NLP相关的东西
8.trie树 图的广度优先遍历
9.前端了解多少 说一下js的闭包
10.mq怎么用的 怎么理解异步 pull 和 push怎么理解的 消息丢掉怎么办 踩过哪些坑
11.责任链模式环节很长应该怎么去解决
12.还有什么问的吗? 问了评价 广度够深度不够 凉凉= =
B.阿里(河马生鲜)offer
一面:60分钟
1.自我介绍
2.项目经历介绍 平常怎么自学Java
3.举例说一下程序中体现的数学
4.Java实现多线程的方式 线程的生命周期
5.并发包了解多少 cas怎么实现的 unsafe类中有哪些方法 synchronized和LOCK的区别 分别怎么实现的 Java对象头结构说一下 实现一个生产者消费者模式你会怎么做
6.volatile怎么实现的 不保证原子性能用volatile 应用场景
7.并行和并发的区别 进程和线程的区别
8.数据库了解多少 索引数据结构 为什么用b+树 很大量数据怎么分页 为什么用id分页 存储引擎 sql优化经验 怎么去优化的 分库分表怎么分(垂直分和水平分两个维度)
9.三次握手和四次挥手描述一下 为什么是四次挥手
10.arrayList和linkedList是怎么区分的 分别用于什么场景 做过压测吗
11.了解阿里的分布式事务解决方案吗 你是怎么解决的(两阶段和三阶段)
12.jvm了解多少 内存模型呢 说一下gc的过程 年轻代怎么划分Eden区和s0 s1两个区的大小的 可调吗这个大小
二面:30分钟
1.之前为什么想去菜鸟 觉得自己答的哪里不好
2.Java怎么学习的 会不会c++
3.成绩怎么样 获得过什么奖
4.netty了解吗 自己写过orm框架吗
5.自己写过或者阅读过类似于spring这种框架吗
6.愿意做算法吗
7.为什么会实习那么长时间
8.职业规划
三面:70分钟 视频面
1.自我介绍
2.quick sort 手写
3.手写生产者消费者模式
4.分布式系统中的CAP理论 为什么只能保证其中两个 分布式事务怎么解决
5.想想微信红包怎么实现的
6.红黑树了解吗 hashmap关于它怎么用的 有什么好处
7.concurrentHashmap put源码怎么实现的 为什么要三次hash 初始化容量怎么设置比较合理 1.8之后为什么性能会提高 cas操作怎么实现的
8.netty源码读过吗
9.jvm的参数都是什么意思
10.双亲委派模型有什么好处 画出 三个类加载器的继承关系
11.G1垃圾回收器工作原理 为什么不会产生空间碎片
12.linux下怎么排查死循环的线程
13.解决hash冲突有哪些办法 你觉得最好的是哪个 为什么
14.跳跃链表实现
15.select poll epoll区别
16.缓存为什么高效 nginx+redis集群 实现session同步怎么实现
17.zookeeper怎么用的 为什么节点过半就不会挂
18.还有什么问题吗
四面:30分钟 hr
1.自我介绍
2.怎么看待生鲜部门的发展
3.期望薪资
4.阿里的级别介绍
5.家里几口人
6.怎么看待放弃保研这个事情
7.怎么维持工作中和实习的平衡
8.怎么看待你再一次面试阿里
9.能否提前来实习
10.有什么问题问她的没
C.招银网络科技 offer
一面(电话面):27分钟
1.自我介绍
2.Java中怎么解释重载和重写
3.数据库中怎么设置索引
4.唯一索引和主键有什么区别
5.描述sql
6.Java内存模型是怎么样的
7.还有什么问题
二面(现场面):40分钟
1.Java乐观锁怎么实现
2.数据库中隔离级别怎么样 索引的结构
3.手写单例模式 写出饿汉式和懒汉式 各有什么问题 解决线程安全问题
4.spring框架中ioc怎么实现的 了解spring的context组件吗
5.多线程怎么实现 线程池的各个参数是什么意思 线程池很多空闲线程有什么问题吗
6.后台线程怎么设置
7.mybatis中的参数追加怎么用 # 和 $有什么区别 什么是sql注入
8.redis怎么实现分布式锁 redis挂了怎么办 锁的粒度怎么控制 redis还有什么其他高可用应用场景
三面(现场面):20分钟
1.自我介绍
2.zookeeper是怎么用的 内部怎么选举的 怎么做分布式锁
3.责任链设计模式 手写一下代码
4.数据库三范式 会用到外键吗
5.怎么分析业务需求
6.手写快排 链表倒转
7.python有了解过吗 怎么去做爬虫
8.还有什么问题问我的
hr面:30分钟
1.自我介绍
2.讲一下在学校最有成就感的事情
3.软件开发和测试愿意做哪一个
4.对工作城市的选择
5.有没有女朋友
6.对工作内容有什么期待
7.南京和杭州城市有什么不同
8.会回去北方吗
9.为什么放弃保研
10.部门介绍
11.还有什么问题要问吗?
D.苏宁 offer
一、电话面:30分钟
1.Java抽象类和接口有什么区别
2.数据库三范式
3.Java中基本数据类型 new object在内存中的过程
4.spring bean生成的方式 怎么理解aop
5.spring boot有了解过吗
6.hibernate和mybatis有什么区别
7.redis怎么去做分布式锁 怎么实现redis集群
8.分布式事务怎么去解决 zookeeper中paxos算法描述一下
二、现场面:(hr+技术)40分钟
1.手写快排
2.看过公司的框架怎么实现的吗
3.数据库死锁怎么分析
4.redis做缓存怎么做 里面异常怎么去分析处理
5.有用过消息队列吗 pull和push怎么去区分使用
6.手写一下链表倒转
7.了解苏宁吗
8.可以接受加班吗
9.怎么看待 最后的薪资比期望薪资低这种情况
10.职业规划 做管理喜欢吗
11.会接受轮岗吗
12.对于命令会做自己的思考 还是直接去做
13.苏宁给你什么感觉
14.最有成就感的一件事
15.还有什么问题要问吗
E.恒生电子 offer
一、群面(2 vs 6)30分钟
1.单例模式怎么实现
2.设计一个秒杀系统怎么实现
3.业务分析怎么合理
4.数据库连接池中的参数
5.jmx了解吗
6.怎么进行调试
7.数据库中事务隔离级别 存储引擎 索引的结构 为什么是b+树 好在哪里
8.实习中最难的项目
9.jvm内存模型
10.Java中锁有哪些 怎么实现的
11.集合类之间的区别
12.怎么看待分布式系统
13.对redis这样的缓存了解多少 MongoDB这种NOSQL呢
14.实习这么长时间 进步最大的地方
二面:总监面 30分钟
1.自我介绍
2.为什么去学习Java
3.实习的数据量有多大
4.画一下项目的流程图
5.对金融了解多少啊
6.设计一个金融管理系统 要求不同的人登录看到不同的管理界面 怎么实现
7.写一个heap sort算法 什么场景下使用堆排序
8.对互联网金融怎么理解的
9.了解恒生电子是干什么的吗
10.部门介绍
11.有什么问题问我的
三面:hr电话面
问了期望薪资和实习情况
F. 百度三面 GG
一面:40分钟
1.自我介绍
2.一个单向链表,给出头结点找出倒数第N个结点 要求O(N)时间复杂度
3.硬币找零问题
4.最大子数组问题 要求给出时间复杂度最佳的算法
5.如何判断一个单向链表存在回路
6.上亿的数据 怎么快速找到前十
7.Java中锁有哪些 asq cas Java对象头是什么 为什么wait notify要在synchronized中进行
8.Java多线程怎么实现 线程池的原理
9.实现一个阻塞队列
二面:30分钟
1.StringBuilder 和 StringBuffer有什么区别 在高版本jdk下 stringBuilder中会加锁吗
2.说一下进程和线程的区别
3.层序遍历二叉树
4.说一下二叉搜索树的特点
5.一个有序元素 里面的元素都是成对的只有一个是单个的 如何快速找出这个元素
6.怎么实现单例模式
7.关于redis你知道的全部 redis setNx怎么实现的
8.还有什么问我的
三面:50分钟
1.自我介绍
2.不修改线程run的方法下,如何让线程按照指定顺序执行
3.谈一下消息队列
4.大数据了解吗 说一下Hadoop
5.说说阻塞队列
6.说一下mapReduce的源码
7.用过ElasticSearch
8.一个订单 被多个用户抢单怎么解决
9.说一下spring aop 怎么实现 两种代理方式什么区别
10.描述一下springmvc的工作流程
11.NGINX反向代理怎么实现 负载均衡怎么实现
12.上百万的订单数据怎么去存储 怎么去分库分表
13.Redis中网络抖动怎么办
14.约瑟夫环手写代码
H. 有赞offer
一面(100分钟) :
1.简单自我介绍
2.公司项目 技术框架
3.redis分布式锁实现 锁的粒度大小 如果锁一直不释放怎么优化 zookeeper做分布式锁有什么好吃
4.b树和b+树的区别
5.数据库的索引 联合索引 唯一索引有什么区别
6.线程池 参数 如果线程数小于核心线程数 怎么办会不会新建线程 线程池怎么用
场景:读线程特别多 写线程少应该怎么设计线程池去使用
7.java8中的hashMap实现 为什么用红黑树 1.6 1.8 遍历时间复杂度等、
8.手撕链表倒转
9.找出数组中出现两次的数 并按照大小排序
10.怎么从十亿级别的数中找出前十个大的数
11.netty了解多少 nio了解多少 和 aio有什么区别 自己去实现一个rpc框架怎么实现
12.说一下秒杀思路 如何防止超卖 加入阻塞队列怎么加的 怎么保证数据落地
13.redis雪崩怎么办 怎么实现redis和数据库一致性的保证 binlog怎么去看 怎么去分析 如何从binlog中同步数据体到redis
14.怎么去保证redis集群之间的通讯 redis和memcached有什么区别
怎么实现redis中的zset数据结构
15.jvm调优有经验吗 怎么分析oom : heap space 怎么分析方法区的oom jstack命令怎么用
16.怎么理解面向对象的三个特征 Java为什么能跨平台
17.Python有了解过吗
18.MySQL主从怎么设计 数据同步怎么做 mycat你是怎么去用的
19.dns解析优化会吗
20.输入www.baidu.com 发生了什么事情 cookie和session有什么关系和区别 怎么实现一个单点系统 跨域问题怎么解决(jsonp jsonp原理是什么)
二面 (90分钟):
1.自我介绍
2.项目(秒杀,各种实现的一个问题,幂等性怎么保证)
3.redis分布式锁实现中的问题 怎么保证这个问题(redis挂了怎么办)
4.hashmap的一个实现 是否线程安全 怎么实现线程安全 concurrentHashMap怎么实现
5.可重入锁什么特点 asq怎么实现lock 线程之前怎么通讯的
6.数据库隔离级别 存储引擎之间的区别 索引的存放方式 唯一索引的使用场景 联合索引的特点 最左优先原则
7.线程池的应用场景 核心线程池怎么根据硬件去设置 为什么使用线程池。
8.四个手撕算法(avl树的倒转、非递归实现上台阶问题、两个单链表相交怎么找到交点共享文档、快速求出来一个方差)
9.怎么自测自己的代码的
10.对互联网产品的理解
11.GC 分代是怎么分代的 gc的算法 垃圾回收器有哪些 哪些是GC root的对象 jmm内存分布是怎么样的
三面(现场面)
(1)HR面:半个小时
1.从哪里知道的有赞
2.描述一下自己的基本情况
3.实习给你带来了什么
4.实习中碰到怎样的问题 怎么去解决
5.为什么去自学Java开发 接触不到高流量大并发的场景怎么办
6.自己的一个职业规划
7.家是哪里的
(2)TL面:二十分钟
1.怎么去监控一个应用心跳
2.实习的项目流程
3.一些感受 和 实际工作中底层和业务之间的关系和选择