百度秋招后端一面八股拷打

一.八股
1.i++是原子操作吗?
2.a=Interger(200)和b=Interger(200),ab相同吗,a=Interger(0)和b=Interger(0)呢
2.1 为什么要有包装数据类型
2.2 基本数据类型存储在哪里,引用数据存储在哪里(有例外吗)
3.String可变吗,StringBuilder可变吗,具体你用哪个,java里面运算符可以重载吗(我说变的频繁就用StringBuilder,面试官跟我说现在String优化了,源码里面对于String的+操作被重载了,重载为使用StringBuilder,所以大部分情况用String就行了,我汗颜😓)
4.重载和重写区别,构造方法可以重写吗,构造方法可以重载吗?
5.Redis实现延时队列?说出两种以上方法
6.sql中执行一个update语句加了哪些锁?(我答出来加了行锁,面试官说不止,还有其他的。)
7.给我一段代码,看什么问题,具体是单例模式的饿汉式加载,我说没有用两次判断,以及单例对象没有用volatile修饰。
8.进程和线程的区别,协程是什么
9.cpu操作内存主要些什么?
10.虚拟内存有什么好处?
11.spring中说出五种设计模式?
二.项目
项目没怎么问,感觉是跟他们的平时的业务不太相关。
1.为什么动态配置中心要用redis的发布订阅呢,为什么不用MQ。
2.讲一讲接口限流怎么实现的。
三.手撕
实现一个数据结构,O(1)时间实现插入,删除,和返回一个随机值。
全部评论

相关推荐

04-09 17:45
门头沟学院 Java
一、自我介绍与项目深挖做一下自我介绍。简单讲一个你最有代表性的项目,你在其中解决的最关键问题是什么?结合实习或项目,做细节追问(工作流、职责、决策、挑战等)。二、Agent 与提示工程相关提示词模板是怎么设计与迭代的?你如何判断一个模板真的变好了?你们的 Agent 是单 Agent 还是多 Agent?为什么这么设计?有没有考虑过替代方案?Agent 的任务是怎么拆分的?拆分粒度是怎么决定的?上下文是如何构建的?你们怎么避免上下文过长或信息污染?如果上下文窗口不够,你会优先保留哪些信息?为什么?三、代码理解与单测生成(工程场景)做代码理解时,AST、调用关系这些信息是怎么用起来的?单测生成里,哪些代码不适合生成单测?你们是如何识别并过滤的?覆盖率高但测试质量很差,你见过吗?你们是如何解决的?mock 在单测里什么时候是必须的?什么时候反而会带来问题?如果一个函数同时依赖数据库和 RPC,你怎么让模型生成的单测稳定运行?你们如何评估生成单测的质量? 除了覆盖率,还有哪些指标有效?四、LLM 基础与 Transformer 细节LLM 的输入到底是什么?模型真正看到的内容包含哪些?self-attention 的核心作用是什么?为什么要拆成 Q、K、V?为什么 attention 能建模长距离关系?为什么需要 multi-head?attention 为什么可以看成动态加权?同一个 token 的 Q、K、V 为什么不相同?attention 复杂度很高,当上下文特别长时,你会怎么优化?模型产生幻觉的常见原因是什么?工程上有哪些方法可以降低幻觉?五、后端与系统基础Python 有多线程吗?GIL 是干嘛的?什么时候多线程才是有用的?讲一下 C++ 从源码到可执行文件的完整编译流程。六、算法题(手撕)给定一个数组 nums,计算所有子数组的中位数之和。定义:如果子数组长度为奇数:中位数 = 排序后中间的数。如果为偶数:中位数 = 排序后靠左的那个数。要求:计算所有子数组的中位数之和。
查看24道真题和解析
点赞 评论 收藏
分享
评论
3
5
分享

创作者周榜

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