给大家分享一些面经

萌新情况比较特殊,是今年21届毕业但未找到工作的那种,目前上岸了字节跳动在上海的音乐部门,从事后端开发。个人背景是理论与计算化学,然后通过尚硅谷自学的java后端开发。
由于10月份投简历时严格意义来说不属于校招,但社招又是缺乏经验,所以大厂的面试机会比较有限,不少是蹭的22届校招以及一些以校招难度招人的社招岗位。在这里把我遇到的一些面试题分享给大家(每次面试我都有录音,所以记录还是比较全面的,这里只提供一些计算机基础相关的题目,不涉及个人背景或者价值观这样的题目):

蚂蚁集团,风险管理部门,杭州
一面:
1. Spring等框架的好处是什么? 
2. 为什么要用Redis?
3. java与python的区别? 
4. 对于计算机网络七层协议的理解? 
5. 对于数据库中索引与事务的理解? 
6. Java类加载过程?
7. 设计一个二叉树的类,求出一棵给定二叉树的树高。
二面:
类似于主管面,问些价值观,过往经历。
三面:
1. TCP三次握手的过程 
2. 用户浏览器输入网址到返回页面的过程 
3. 简单介绍一下Spring框架。
(后来说招到了有经验的人,就把我刷了)

华为od,重载操作系统,上海
一面:
1. 为什么要用Spring等框架进行开发 
2. 对UML与设计模式有了解过吗?简单介绍几个? 
3. 多线程问题有了解吗?项目中是怎么解决的? 
4. java迭代器模式是怎么样的,用迭代器遍历和普通for循环有什么区别。(这个涉及到fast-fail机制以及并发修改错误) 
5. 对于内存泄漏的理解,发生OOM了如何排查?
算法题:模拟两个人玩小猫钓鱼的扑克牌游戏,用栈和队列模拟就行了。
二面:
1. 对于Spring中IoC、AOP特性的了解 
2. 项目中是如何解决并发安全问题的。
3. 项目中是否有涉及到数据检验? 
4. 如何在前后端分离模式下测试后端接口?
(三面主管面就是劝我去他们的部门,但最后还是考虑到是od所以没有去。)

金蝶软件,深圳
一面(很有意思的面试):
1. 对于微服务的理解,项目划分微服务的依据,是否涉及到了数据库的拆分,Spring Cloud各组件作用,对于分布式事务的理解(当时完全不知道,现在知道一点点XA、TCC啥的)
2. 如何要让你设计一个语言的虚拟机,你会考虑哪些点?(可以参考JVM的架构进行设计,然后不同语言有不同的取舍和需求吧!比如是否需要垃圾回收,再比如是否需要生成字节码这种的)
(二面是hr面,不过后来还是挂了。)

字节跳动,抖音电商
一面:
1. Spring Boot启动流程,越详细越好
2. MySQL存储引擎,InnoDB存储引擎数组组织形式 
3. Nginx负载均衡算法,其多路复用的几种模式 
4. ES输入查询语句后运行流程(应该从近实时查询和分布式系统的角度看)
5. 操作系统虚拟内存的概念,访问内存数据的流程 
6. 零拷贝了解吗?
7. 模拟实现LRU算法。
(这次面试的教训就是,简历上技术哪怕是了解部分也不要瞎写,有时候会被问,由于答得不好所以挂了。)

德邦快递
一面:
1. 项目本身,微服务,数据库等 
2. HashMap中负载因子以及数组的长度,减少hash冲突的方法(这里说的是计算hash后做了一些位运算,保证均衡以及哈希表长度保证是二的次幂) 
3. 类加载过程,双亲委派机制
4. 多线程的了解,创建线程的方式,Callable,创建线程池的七个参数 
5. JVM运行时数据区 
6. 垃圾回收时对于垃圾的判断以及垃圾回收算法 
7. 对于DI的理解,Spring中常用注解,对于Restful的理解,对于AOP的理解 
8. Redis为什么用单线程?持久化。
(八股文我背得还行,JVM、MySQL和多线程都是系统学过的,所以这些答得相当不错,德邦快递过了这一轮面试直接发offer了。)

蚂蚁金服,捞起来的简历,证券金融部门,上海
一面:
1. 问了一些Linux文档处理的问题,但我实际上用的不是很多,所以答得不好。可以参考grep、sed、awk、wc、sort等的使用。
2. HashMap为什么不是线程安全的?HashMap什么情况下会出现CPU 100%的问题?如何定位?(这个很偏,参考HashMap jdk7 中头插法与并发扩容导致循环链表的问题)
3. Java中几个IO流。零拷贝。
4. 反射的用处,在框架中反射的应用,反射有什么缺点(答了效率低还有破坏权限限制,可能还有别的点)
5. 用SpringBoot开发项目的流程
6. MyBatis是如何操作数据库的?说到底层实际上是封装了PreparedStatement,问为什么用这个不用Statement。
7. 对于Spring AOP的理解。
8. TCP三次握手和四次挥手的过程
9. Joseph环问题,不太清楚最简洁的递推算法,用了模拟操作的方法来实现的。
二面是主管面,问了一个比较开放的问题:
数据结构中栈、堆还有链表有什么区别?
这个问题有点无厘头,准确来说要从数据结构的逻辑结构(线性、半线性、非线性结构)以及物理结构(数组连续存储、链表非连续存储)的角度来回答。其它是一些价值观问题。
(本来有三面的,但突然说没有招聘名额了。)

字节跳动,捞起来的简历,音乐部门,上海
一面:
1. HashMap查找一个元素的复杂度,其实可以用查链表、红黑树还有没有元素的角度回答问题。
2. 算法题:N个元素中查到最大M个元素。要给出算法复杂度。
3. MySQL聚集、非聚集索引。联合索引下一个SQL语句是不是能够用上索引。
4. 算法题:一个青蛙跳格子问题,一开始没想明白思路,经过引导发现是个贪心问题。
5. Redis中的数据结构,zset底层是用什么来实现的,描述一下对应的数据结构。
6. HTTPS整个过程,其中用到了哪些安全相关算法。
7. synchronized锁升级过程,你提到了CAS,简单介绍一下,以及ABA问题。
二面:
1. 项目中微服务组件、数据建模(我理解是依据业务需求先构建数据库与数据表,然后写后端CRUD端口?)、数据表中索引使用情况、使用like "%abc"能不能用上索引
2. 联合索引的组织方式,如果将联合索引(A,B)设计成先以字段A为B+树,然后叶子节点索引到字段B的B+树上,这样设计如何评价?(很有意思的一个问题)
3. Redis作用,对MySQL修改时,应该如何对Redis做修改?我回答的是先删Redis再更新MySQL再更新Redis,被问有什么问题,应该怎么解决?
这个是数据库与缓存双写会由于并发修改导致不一致的问题,比如MySQL先改A再改B但Redis先改了B再改了A就出现数据不一致了。怎么解决呢?
按照面试官的意思,删Redis然后改MySQL就行了,等到读数据时再从MySQL加载数据,这里讲究最终一致性而不是强一致性。
4. 算法题:给定一系列线段,求出线段的总长度(重叠部分不重复计算)
5. 数学题:两个人轮流抛一枚公平的硬币,第一个抛到正面向上者赢,先抛的人赢的概率?
三面:
这是偏主管面,不过还是做了算法题
1. 算法题:打靶子可能0到10环的整数,请问打10枪总分为80分的所有可能情况数?
2. 针对我之前作为计算化学的并行计算进行发散的一系列问题:
如何进行并行计算?现在单个核运行多个进程/线程会提升性能吗?如果会有文件读写以及计算交替会提升性能么?单个线程/进程如何服务多个网络访问请求?了解MapReduce吗?(???)
3. 对于自学的计算机知识印象最深刻的点是哪个?(答了计算机的模块化,例如网络的协议栈,操作系统各个子系统)
感觉字节是真看重算法题,而且由于会转golang,java就不会问得那么多,数据库问得挺多的。

另外还有一些银行子公司的面试题:
1. 注解的使用方式和原理,可以想一下框架中怎么用注解的?
2. 对算法的了解,简单说几个图相关算法。
3. raft、paxos知道吗
4. redis基本数据类型,redis用作缓存会有哪些缓存问题?

1. linux中常用的几个文件系统,有什么区别?(时间长了有点忘了)
2. Spring中常用注解,如何用Spring框架配置一个线程池?
银行面试时间只有15 min,个人感觉就是对技术要求没有那么高,所以就不考虑去了。

最后给一个传统做风电还有物联网公司的面试题,一面后就没下文了:
1. 如何理解面向对象
2. java中权限修饰符
3. 接口与抽象类的比较
4. 框架中使用注解的方式
5. java运行时数据区
6. 写一个MySQL语句
7. InnoDB没有主键时会怎么做
8. 主键索引与唯一索引的区别
9. Redis和MySQL使用方式
10. 进程与线程的区别,线程间通信方式
11. zookeeper Leader选举过程。(初次选举以及故障恢复时重新选举)
13. 给定一棵二叉树,返回最大K个节点。

整体来说我还算是校招难度吧,所以各种不同类型的公司看下来就是:
1. 数据结构与算法还是挺重要的,然后是计算机网络、操作系统、设计模式
2. MySQL问得不少,索引问得最多,其次是事务、SQL语句书写,有时候项目会问你有没有分库分表,别懵了就行。
3. java除了基础语法以外,java虚拟机问得不少,java多线程开发也会问一些
4. Redis会问一些,因为一般项目里都会用,所以会问为什么用、单线程、数据结构、缓存等问题
5. 框架注重于为什么要用框架,对于框架一些特性的理解,有时候会问一些使用或者问源码
6. 中间件因为我写了,所以被问到一些,其实问得不会太多,个人怀疑是因为公司中肯定是要自己造轮子的。了解zk中leader选举过程,es中分布式架构和近实时搜索啊,nginx一些原理啊很有可能是加分项。
7. 一些比较时髦的概念,如微服务、前后端分离、分布式(分布式事务、分布式一致性算法、负载均衡啥的),我觉得就是到了解能够说出来的程度。

分享这些与大家共勉,期望大家都能够去心仪的公司!

#Java面经##蚂蚁集团##字节跳动##华为##金蝶##德邦##面试题目#
全部评论
我滴清华哥
3 回复 分享
发布于 2021-11-24 23:17
这要是普通学校,是不是就没有这么好运了🤣
2 回复 分享
发布于 2021-11-25 21:21
清华,太猛了
1 回复 分享
发布于 2021-11-25 20:56
清华哥太猛了
1 回复 分享
发布于 2021-11-25 00:42
这个可能是学历buff加成了,清华哥太猛了,我们这种双非简历直接卡死
1 回复 分享
发布于 2021-11-25 09:01
同计算化学可惜我只是个双非硕
点赞 回复 分享
发布于 2023-02-21 21:20 四川
看到清华直接进😁
点赞 回复 分享
发布于 2022-01-20 11:20
楼主,我想问一下德邦一面过后多久通知呀?
点赞 回复 分享
发布于 2021-12-01 20:58
mark
点赞 回复 分享
发布于 2021-11-29 21:56
礼貌询问,大佬现在在北京嘛?
点赞 回复 分享
发布于 2021-11-29 21:20
大佬八股文有推荐吗
点赞 回复 分享
发布于 2021-11-25 19:50
学历buff
点赞 回复 分享
发布于 2021-11-25 09:23
大佬牛逼 礼貌求问 大佬 java一整套都是看的尚硅谷吗  javase mysql jdbc javaweb sping 等
点赞 回复 分享
发布于 2021-11-25 09:18
所以你投的是校招还是社招😃
点赞 回复 分享
发布于 2021-11-24 22:35

相关推荐

10-02 03:17
已编辑
西安交通大学 天线工程师
本人双非本,西交硕,通信工程专业,研究生期间主要做硬件天线方面,记录一下自己的秋招之旅,后续看情况可以更新一下面经相关一、目前有进展(附面经):①诺瓦星云:硬件工程师(西安)——简历初筛——待群面——9.12下午5点群面——群面已结束——待发第一轮面试——一面已结束(信息通知说是技术面,两位面试官,开局自我介绍,然后讲项目,后续主抓项目,问的很细,另一位会打断提问一些问题,然后会问一些情景类型的题,就是考察你的领导力和执行力ps:这部分不该是主管面才涉及的吗,基础知识没咋问,有位面试管特别和蔼,总体来说体验挺好的,聊的也挺多;反问环节:问了1、培养体系 2、以我目前的能力 去入手业务难不难。答:1、会有导师带等等 2、不难  其他的一些实在想不起来了,每次面的过程中都很兴奋,面完就累die)——测评——二面综合面:全程聊天,问了两个数电模电问题,不会忘了,不过无伤大雅,跟面试官深入探讨目前的就业环境,老有意思了,稍微讲了下项目。反问环节:问了我的培养方案,他的建议是我先去做硬件工程师的一些东西,把整个流程熟悉完之后,可以自己考虑去往领导层面发展还是技术层面;然后问了一下诺瓦的工作强度,说研发岗位除了有项目,其他时间都很轻松,然后还有双休,具体没有细聊。整体体验相当轻松愉快——已offer,10月谈薪②传音控股:天线工程师(上海)——待发测评——待做测评——测评结束——已约线下面试——一面被狠狠拷打内容大概围绕两个(1、给出一个完整的手机天线设计方案2、你项目里做的天线有哪些可以用到手机天线上大概率是寄了,没怎么准备手机天线相关的东西,好好复盘巩固了;反问:hc哪地方多,答:重庆,工资会比上海低,也比上海卷;反问培养体系,答:基本一对一 等)③TCL:手机BU-天线工程师(惠州市)——简历筛选——待测评——测评已做——待ai面——ai面结束——一面结束(一面是两个人,一位技术面问简历项目,一位hr面问了一些日常问题:比如如何看待加班;工作地点有没有要求;反问了培养体系相关)——已oc④海能达——射频硬件工程师(深圳)——9.8号18.11投简历——一面结束(只问了项目相关,但我朋友被疯狂拷打基础知识,这个一面得看hr;反问了培养体系)——已通知二面先下面9.26——线下面:1、中文自我介绍+英文自我介绍(公司会外派比较看重这个),项目创新点、难点讲解,兴趣爱好等等。半小时后主管面:自我介绍中文,了解项目,其他几乎没问,反问了:业务相关;培养相关等,整体来说没啥了,主管面了上百了估计,也挺累,然后就速度很快。——第二天通知全部通过,测评:就是北森那些——已offer,线下面谈二、无消息;进展缓慢:1、vivo :硬件工程师(天线方向)(东莞)——测评已完成——9.12笔试待做——笔试已做——业务复筛进行中2、华为:ICTBG-硬件技术工程师-无线产品线-天线开发——综测笔试已做,等面试通知3、中兴:未来领军-硬件开发工程师(西安)——投递成功——转为正式秋招(进展太慢咧)——测评——换岗射频——待发笔试4、安克创新:射频工程师(深圳)——投递简历——测评已完成——已挂❌5、荣耀:天线打开工程师(西安、深圳)——投递中——待处理简历6、远峰科技:天线射频工程师(东莞)——投递7、航天恒星科技有限公司——天线设计师(西安)——9.8号已投递8、Realme真我——硬件工程师(深圳)——9.8号投递——待评估9、中兵通信科技股份有限公司——线下简历投递(武汉,半年北京)10、湖南云箭集团有限公司——微波源设计岗(湖南长沙)——已投11、科大讯飞——硬件开发工程师(合肥、深圳、苏州)——简历投递——测评已做12、影石——天线工程师(深圳)——已投递ps:人要有梦想13、比亚迪——已投,才知道笛子是要先过简历才能选职位,大意了都排到22W+了三、已挂:1、oppo:硬件类 天线工程师(西安、上海)——综合待评估——已挂❌2、tp-link联洲:天线工程师(深圳)——初筛、流程中——进人才库❌3、韶音科技:天线工程师(深圳)——简历初筛——简历挂❌4、小米:天线工程师-手机(深圳)——投递简历——测评完毕——笔试待做——笔试做完——流程终止挂简历(海测海笔)❌祝各位秋招顺利
我的秋招日记
点赞 评论 收藏
分享
评论
45
180
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务