无限进制- 服务端开发

一面(7.11) 30min 线上面试
1. 自我介绍
2. 实习拷打
3. Go的协程池有没有了解过?
4. Go如果一直创建协程,最后可能内存爆炸,如何限制最大并发数?(channel)
5. Linux如何查看网络端口,查看日志
6. 消息队列如何保证消息能够到达消费者,如何保证消费者能够正常消费
7. 场景题:如果我启动了消费者,它取了很多的任务,任务的内容是发送短信。我在它取到任务之后,关闭服务,然后修改代码,重新启动,最后如何使旧的消息能够按照旧的逻辑执行,实现平滑过渡。
8. Linux的分配权限指令(chmod)

当天约二面

二面(7.15) 1h 线上面试
1. 自我介绍
2. 实习拷打
3. Redis分布式锁如何实现,会有什么问题,如何解决
4. Lua脚本常用命令
5. 你的项目会如何部署
6. Go 和 Java内存模型有什么区别
7. Java更适合大内存应用,那如果我要给Go分配大内存对象,如何分配
8. 如果我直接在操作系统进行内存分配,我要自己处理回收吗
9. 出现内存碎片怎么办?内部碎片和外部碎片是什么?
10. 分页,分段,段页式管理的具体实现
11. 如果我要针对你的鉴权中间件,让你设计成一个鉴权中心,这个鉴权中心可以给多个服务使用,你的设计思想是什么,具体怎么做,它需要暴露什么接口出来

当天约三面

三面(7.17) 55min 线上面试
1. 自我介绍
2. 实习拷打 
3. 除了在实习,你有做过什么其他产品并上线使用吗,说来听听
4. 智力题(我是rz)
- abcd四个人和两个黑色帽子,两个红色帽子。已知a带的红色帽子,b带的黑色帽子,a和b之间隔了一堵墙,a在墙的左侧,bcd从左到右都在墙的右侧,然后两侧的所有人都朝墙的方向看,后侧的人可以看到前面的所有人的帽子,但是不能透过墙看对侧的。请问,最后哪个人可以知道自己带的什么颜色的帽子
- 25匹马,5个跑道,马的速度随机,没有任何计时器,请问如何最快地找到速度前三的三匹马
 (从来没看智力题,智商不在线,即使过程一直在优化,但最后都没得出来最优解)

三面挂

补充:
三个面试官都没开视频,单方面开,总是感觉有点奇怪。
#牛客AI配图神器#
全部评论
是面的实习么?
点赞 回复 分享
发布于 2025-10-30 11:00 广东
赛马思路:1.先分成五组分别进行第一次比赛2.把各组的第一名拉出来进行第二次比赛3.第二次比赛的第一名作为答案的一部分移除比赛,将第一名第一次比赛的下一名与第二次比赛剩下没有移除出比赛的马比赛4.重复3直到选出三次比赛的第一名(好像还是有点绕)
点赞 回复 分享
发布于 2025-07-22 00:16 贵州

相关推荐

1.自我介绍2.介绍一下mcp, skills3.了解react哪些状态管理库4.对话是sse还是什么?是用fetch还是EventSource?5.ts中的any 和 unknown讲一讲6.是直接用组件库的组件还是自己封装了一些别的7.代码输出题1function main() {{var a = 1let b = 2}console.log(a);console.log(b);}main()console.log(a);8.什么是块级作用域 全局作用域 函数作用域9.代码输出题2for (var i = 0;i < 5;i++) {setTimeout(() => {console.log(i);}, 100);}10.代码输出题3for (var i = 0; i < 5; i++){function printText(temp) {setTimeout(() => {console.log(temp);}, 100);}printText(i)}11.代码输出题4for(var i = 0;i < 5;i++){function printText(temp) {var temp = isetTimeout(() => {console.log(temp);}, 100);}printText(i)}12.代码输出题5for(var i = 0;i < 5;i++){function printText(temp) {setTimeout(() => {var temp = iconsole.log(temp);}, 100);}printText(i)}13.点击控制台输出题export default function App() {const [count, setCount] = useState(0)console.log('render',count)return (<div><h1>{count}</h1>{setCount(count + 1)setTimeout(() => console.log('setTimeout', count), 1000)}}>+1</div>)}//这个组件点击按钮后,控制台的输出顺序和值如下:// 1. render 1 (组件重新渲染, count 更新为 1)// 2. setTimeout 0 (1秒后输出,注意这里是 0 而不是 1)14.算法:给有序数组arr = [-4, -1, 0, 3, 5],返回平方后的排序// 有序数组平方后排序const arr = [-4, -1, 0, 3, 5]function solution(arr) {const len = arr.lengthconst result = new Array(len)let left = 0let right = len - 1let index = len - 1while (left <= right) {if (arr[left] * arr[left] > arr[right] * arr[right]) {result[index] = arr[left] * arr[left]left++} else {result[index] = arr[right] * arr[right]right--}index--}return result}console.log(solution(arr));15.反问
查看14道真题和解析
点赞 评论 收藏
分享
评论
1
7
分享

创作者周榜

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