字节后端一面凉经

2025.4.2 下午三点开始面试,时长大约55分钟。
2025.4.3 下午四点多一面挂的邮件就已经发来。

本人是个菜鸡,正在为找暑期实习而努力
记录一下自己的第二场面试,也是第一个大厂面试。
前面直接给我问懵了,中间有一会感觉大脑缺氧,晕晕的。
面试官总体来说还行,但是我回答完问题就只是嗯,也不多说。

1.自我介绍#牛客AI配图神器#

2.首先问了项目是练习项目吗?
回答:是学习练手项目;
又问:从头开始做的吗?
回答:从头开始做的。

3.项目为什么选择微服务,是怎么拆分的
回答:(这块没准备)只说了微服务后期好扩展,且不同微服务之间解耦。(这时候脑子已经乱了)具体如何拆分微服务的,我回答的是微服务分为对外接口层api、应用层、领域业务层、基础设施层、调用别的微服务接口的rpc层。这真是给后面埋了大雷。

4.项目开发过程中的难点和亮点
巴拉巴拉乱说一通,但是没忘记说项目的亮点,说了好几个项目的亮点,可能面试官不兴趣,后面就问了我说的在项目中用到了一些设计模式的亮点....

5.如何和其他服务交互
回答了api层封装接口、rpc层调用其他服务

6.RPC基于什么实现
回答:rpc是微服务中的其中一层,如果要调用其他服务的,经过 nacos 注册中心借助 Feign 可以实现调用别的微服务中的接口。。

7.追问了 Feign 如何实现的
回答:把项目中一个微服务调用另一个微服务的实现说了下
追问:底层如何实现的
回答:网络协议和数据序列化(没看过这个,随便说了俩)

8.feign的协议和序列化是用的什么?
直接抱歉,不会

9.项目部署了吗?
回答:在自己实验室电脑上的linux环境接著jenkins自动部署,只能内网访问。把jenkins部署流程简单说了一下

10.你提到项目中用到了设计模式,具体如何实现的?
把项目中用到的的工厂-策略模式、适配器模式都说了

项目阶段回答的太烂了,就开始问八股了。
11.java的哈希结构有哪些?
回答:hashmap、concurrentHashMap、linkedhashmap、hashtable(直说了这些,其他的回答不上来了)

12.hashmap的底层,红黑树查询和插入效率
回答:基于数组、链表/红黑树实现,还说了链表转红黑树的时机;面试完回想当时好像说的是O(n),脑子想的是O(logn),说成了O(n)

13.hashmap和hashtable的区别
回答:hashmap不是线程安全的、hashtable是线程安全的

14.hashtable线程安全怎么实现
回答:使用synchronized实现

15.ConcurrentHashMap实现线程安全?
回答:回答了 jdk1.7和1.8分别怎么实现的

16.乐观锁与悲观锁,分别的应用场景
回答:乐观锁和悲观锁回答出来了,但是应用场景说反了

17.synchronized和lock区别
回答:说了synchronized基于jvm的监视器锁机制,巴拉巴拉;而reentrantlock使用lock显示的获取锁。

18.lock和unlock底层怎么实现
回答:只记得判断state的状态来获取和释放锁,具体如何不知道

19.JVM的GC算法
回答:最开始回答了垃圾回收器,过一会才反应过来,

20.什么情况下触发GC
回答:说主要是因为内存不足,然后System.gc()方法,其他的不记得了

21.讲讲spring的IOC
回答:控制反转,把bean交给spring管理,解耦,方便维护和测试。依赖DI实现

22.依赖注入怎么实现
回答:静态、实力工厂、构造器、setter方法。(注解注入忘记了,没有说)

23.Spring事务注解@Transaction的底层实现
回答:只说了使用AOP和事务拦截器,替代传统的编程式事务(其他的不知道了,直接抱歉)

24.mysql的默认隔离级别
回答:read-committed,读已提交

25.read-committed是什么意思
回答:回答成了一个线程只能读取其他线程已提交的数据(哎,事务说成线程了)

26.其他的隔离级别以及解决了什么问题
回答:回答了其他的几个隔离级别对应解决的问题

27.如何实现可重复读
回答:这个忘记了,随便说了一个MVCC

28.MVCC如何实现
回答:版本号,读取数据快照

29.算法(没成功运行):
单链表奇数节点递增偶数节点递减,重排后使之升序,回答一下思路。
在纸上画了一下,过一会有了思路:把原链表拆分成两条链表,奇数节点链表和偶数节点链表,然后反转偶数节点链表,这时候就是合并两条有序链表。
面试官让我实现一下
代码写完之后,在合并代码那报空指针异常,检查了一下这个合并方法,问题不出在这,估计是前面的拆分链表的时候写错了。但是没检查出来哪里写错了。面试官说时间快到了,让我下去再看看。

反问:
通过这场面试,您觉得我应该往哪方面改进?
面试官反问,你觉得你前面的问题哪些没答好
我说了一些前面没回答好的问题
面试官说要了解框架、和一些技术的底层原理,不能只会用

#面经java#
全部评论
加油加油
点赞 回复 分享
发布于 04-03 20:50 北京
请问什么部门哇
点赞 回复 分享
发布于 04-04 15:14 辽宁
感觉答的可以了呀为什么会挂
点赞 回复 分享
发布于 04-04 15:37 重庆
jichi的项目吗
点赞 回复 分享
发布于 04-04 22:25 重庆
老哥我来点评一下:24mysql默认的隔离级别是可重复读,不是读已提交奥,项目这一块我感觉不要说练手的项目,给一个实际的应用背景,这样面试官才能拿聊下去。 Spring的事务是基于AOP的,还要会问事务传播机制、失效场景、分布式事务这些。MVCC是重点的。本质都是基于反射去实现的,加油
点赞 回复 分享
发布于 昨天 00:45 江苏
别灰心,广告部门感觉刷了巨多人
点赞 回复 分享
发布于 昨天 17:12 浙江

相关推荐

04-03 17:30
同济大学 C++
1.自我介绍2.闲聊,包括毕业要求、什么时间可以来实习,可以实习多久等等3.介绍项目4.容器是如何实现隔离的?5.简历上异构多处理器计算资源调度算法有神么应用场景?6.容器向外界发送一个请求,比如www.baidu.com,怎么确保容器能够接收到这个请求呢?(我是结合容器内部的一个ip分配、容器运行时和内核之间的响应回答的)7.容器内部向www.baidu.com发送请求响应流程(实际上就是url的解析过程)8.docker容器的发展了解么?答:讲了一下docker之前的一些容器,比如lxc等等9.了解k8s么(这个很熟悉)10.对云原生了解么(云计算到边缘计算全讲了一遍)11.场景题,给你一个任务DAG,有计算密集型节点(对cpu使用比较多)、I/O通信密集型的,你怎么去实现高效调度呢?答:结合I/O多路复用回答的12.I/O多路复用发挥怎么个作用呢(这个之前面试刚问过,很熟悉)13.进程和线程?14.了解协程么15.http安全么?为什么?16.https的加密方式?17.https加密为什么要服务器发送一次密钥,客户端再向服务器发送?(这个尝试了两个答案,面试官没有很肯定)、18.http连接是哪一层的?19.http连接是tcp还是udp?算法题:hot100 岛屿数量反问1.对今天面试有什么建议2.什么时候出结果——————————总体来说问的问题基本都回答上来了,没有出现卡壳的情况,就是最后算法题输入犯了个低级错误到最后才检查出来面试官看了我的思路觉得没问题,后续安慰了我一下。啊,不会因为这个输入的卡壳导致整段垮掉吧,我听说字节还是挺重视算法题的,悲、面试感受的话感觉问得其实挺深入的,但是因为都有详细了解所以都回答得出来,算法得多熟悉下ACM模式了,哭。
查看21道真题和解析
点赞 评论 收藏
分享
04-02 18:36
已编辑
南京大学 Java
📍面试公司:字节👜面试岗位:后端开发⏳面试时长:1h📖面试问题:1. 自我介绍拷打项目2. 讲一下智能批改的工作流程具体是如何设计的?3. 在模型返回结果给前端或用户之前,是否进行了后处理操作,如何处理的?​4. 如果大模型出现幻觉(结果不符合预期),如何处理异常情况?5. 智能批改的线程池配置是怎样的?6. 线程池如果配置不合理会出现什么问题?​7. 若平台开放给全校使用,现有架构可能需要进行哪些调整?8. workflow超时或失效,有没有兜底方案?9. 微调工作简单说一下?10. 如何判断模型效果是不是有提升?(标准很模糊,不满意)11. 讨论其他网站的做法,问后续优化思路12. 数据集和训练集的来源和划分?转战后端开发内容13. MongoDB相比于MySQL的优势是什么?14. OSS是什么?用于什么?15. 如何保证MongoDB到OSS数据转存时的一致性?如果服务崩溃如何处理?16. Redis缓存内容的策略是什么?如何更新缓存?17. 讲一下策略模式18. 策略模式在项目重构中如何应用的?19. 另一个项目的算法了解一下零星八股20. MySQL索引失效情况21. IO流说一下? 二进制文件用什么?开放题22.Manus有没有了解过,如果优化自己的项目,该怎么做?🖊笔试问题:lc3 无重复字符的最小子串🙌面试体验:我的评价是准备了好久八股,屑屑。面试官人很好,不会打断说话,卡壳也不会为难#软件开发笔面经#
查看22道真题和解析 软件开发笔面经
点赞 评论 收藏
分享
评论
13
30
分享

创作者周榜

更多
牛客网
牛客企业服务