记录菜鸡的9月秋招(上岸了),附带面经
隔上次找实习写的帖子也过了3个月,现在再来一篇秋招的吧
除了在哈啰实习转正拿到了offer,在秋招的过程中 投了大概20家左右,面了7家,收到了 小米和华为的offer,最终pick了华为东莞研究所,因为我怕冷🤣(这算是其中一个原因吧)
自我介绍:***之都某985本科,转专业后学的软件,投的都是Java后端,但个人兴趣也喜欢做python爬虫,做一些小的数据分析,接触过一点AI,喜欢做数据但还没入门的可以fork Alfred1984,他的小项目挺有意思的
阿里(简历面直接挂):
1、问项目,期间狂怼AI模型和算法
2、JVM内存模型,垃圾回收
3、Map用过哪些,区别是什么
4、线程池的创建,ThreadPoolExcutor,Ali的开发手册上明确说了线程池的创建只能用这个,原因是用那4个会导致OOM
5、爬虫的时候遇到过什么困难,怎样反爬
(面完 面试官还主动加我微信,我想应该稳了吧,结果没了)
oppo(一面挂,问的东西不多,主要是卡在第一个问题了):
1、一个文件有1亿行,怎么定位到1000行最快,面试官说内存映射(offset),这块我不太懂
2、服务发现和服务注册的过程,你怎样管理微服务的(这里把我给问懵了,面完后我才回去仔细读了些东西)
3、问项目,有聊到Geohash
4、进程间交互的方式
小米(我把所有问题汇总到一起吧)
1、基本的数据类型出了些选择题
2、sql中的一些函数,这个有些没见过,我还真没答上来,怎么加索引以及强制使用索引
3、挑个最nb的项目讲讲,又具体讨论了下一些细节,就不罗列了
(面试官好像比较赶,提问环节我都会问 有关 微服务的循环调用以及接口分离问题,他说我挺有思考的,就放我进下一轮)
4、手撕算法,奇数左边,偶数右边,开一个数组,a[0]到a[1]的地址跳转
5、redis数据类型,set的并集 交集 差集函数,在项目中使用了什么类型
6、RabbitMQ怎么保证幂等以及消息的不丢失
7、垃圾回收算法和g1 cms,类加载过程,堆栈,不同的JIT是在哪个地方有差异,逃逸分析
8、他写了个sql判断查出来的是什么
9、怎样把单体项目拆成微服务,会不会Linux指令
10、线程池,Hashmap的实现,Hashset怎么判断重复,volatile是线程安全的吗(不是,不保证原子性)
11、MyISAM和InnoDB的区别,适用场景,为什么用B+树不用红黑树,聚集和非聚集索引
12、Spring读过哪些源码,我跟他聊了BeanFactory和ApplicationContext,通过反射做IoC,java动态***,根据实际的项目聊我怎么用AOP
13、Spring事务,我基础的并不熟悉,就跟他扯在项目中使用了Transactional注解但事务没有回滚的可能性
14、TCP和UDP的区别,描述下SSL
15、讲讲es的分布式读写和倒排索引
华为(2轮技术 1轮业务主管,我也都汇总到一起吧)
1、手撕算法,所有人在一楼坐电梯,每个人都有自己要去的楼层,问送完这批人所需的最短时间
2、讲讲微服务,这里感谢哈啰,感谢华哥的SOA ppt,在被oppo问到这个问题后,我把哈啰实现的服务注册及服务发现的源码读了一遍,这个问题迎刃而解了
3、Vector,ArrayList,LinkedList,线程池
4、双亲委派机制,JVM内存模型
5、手撕算法,两个长度相等的字符串,一个字母映射一个字母,不能有2个字母映射的结果相同,问这两个字符串是否满足上述条件
6、各种Map,他们的特点,哪些是线程安全的,ConcurrentHashmap的实现
7、Mybatis了解多少,我说我读过Mybatis源码,然后就给他讲了一遍,但是后面让我手写sql,2个我只写出来1个,Student表找这找那的
8、设计模式知道哪些,设计原则说一说
9、RabbitMQ和Kafka的区别,为什么用RabbitMQ
10、机器学习用的什么框架,讲讲lstm和双向GRU,你的词向量是多少维的,词林的目的是什么,讲讲VGG模型,为什么用3*3卷积核,
11、怎么用Linux检查内存,堆栈,CPU的状态,如果出现一个进程CPU爆炸,你要怎么办,我开玩笑的说kill -9
12、讲讲Rpc调用,我之前也顺便把哈啰的Rpc实现源码也读了一遍🤣
13、怎样保证nginx的高可用
(主管面感觉更像是压力面,聊了近1个小时,他不像技术面一样问细节技术,但他在不断的试探你的技术边界限,跟他聊了微服务,AI算法与应用,现阶段数据的问题,在哈啰的时候出现的短期瓶颈,工作方式)
4399(应该是挂了)
1、zookeeper***机制,从节点个数满足什么要求,为什么是2n+1
2、数据库三范式,写sql,我一个都没写出来😭,这真的是我的一个大弱点
3、线程池,共享变量,死锁的条件
4、HashMap底层,和HashTable的区别怎样判断一个对象是否可以被回收
5、1000万个字符串,其中有很多是重复的,找出重复次数最多的10个字符串
6、井盖为什么是圆的???我瞎答说漩涡是圆的呀,他自己说那井盖也有方的,怎么解释?????
搜狐(一面挂)
1、手撕算法,没撕出来(说是前一天笔试题,9.26吧,停车场问题,如果有高人会的话,可以评论里写写)
2、redis和数据库的一致性问题,个人认为先更新数据库再删除缓存,这个问题和很多面试官都交流过,其实更多的取决于业务嘛,无关对错,也欢迎在评论里讨论
3、走数据库视图为什么会快一些
(可能没手撕出来,他也对我失望了吧,也就没问什么了,就挂了)
乐信(不知道结果)
1、TCP UDP的差异,Hashmap底层
2、JVM内存模型,为什么要分为堆栈,不能融合在一起吗,为什么弃用引用计数法(循环调用)
3、怎样切换数据库引擎,应该是alter table xxx engine = xxx 吧,数据库中有哪些锁,怎样加锁,事务隔离级别,什么是幻读
4、redis sortedset是怎样实现有序的
5、RabbitMQ发送端在发送消息后怎么确认消息是否到达MQ,不能使用ack,这个真不知道😭
差不多就总结到这样吧,好多的我有点忘记了,看过我上篇帖子的人大概知道我最开始是有多菜😂,真的感谢哈啰给实习生一个很好的平台,感谢我老大把我捞起来,2个月的实习带着我成长,写了那么多bug没骂我,感谢实习过程中给我指导帮助的朋友们。
如果有做Java的同学,推荐2个网站,https://github.com/doocs/advanced-java https://github.com/0voice/interview_internal_reference?from=singlemessage&isappinstalled=0
秋招面试完等结果的同学不要急,小米我11号二面,然后我加了个小米开奖群,结果不到2周他们都开奖了,我想我凉了就直接退群了,结果昨天突然接到电话 北京 武汉任选,而且薪资超出想象,反正我觉得我配不上这个价,所以大家不要放弃呀,一定行的
记得!!!!! 要是有兴趣,请投哈啰出行,不要对共享行业抱有偏见,哈啰蓝一定会闪亮的
10月底 我林肯宝宝 又准备回哈啰写bug啦