面试挂了

面试很爽快,首是聊下项目经验,后问题我对块比较熟,当然我对 go ,k8s 比较熟,那就先来这方面热身。
1,channel 底层,也扯到 csp
2,GMP 模型,goroutine 优势在哪里?
3,go 的 gc 原理
4,mutex 底层,饥饿模式和正常模式
5,map 为啥不安全,sync.map 底层
6,go 有哪些常用包,context 如何用?
7,协程泄露怎么排查问题
8,k8s 架构
9,容器和镜像有什么区别,原理是什么?

结束热身,然后开始问 AI 大模型相关
1,你怎么理解 Agent,你如何从头到尾设计一个 Agent,比如想做一个 code review 这样 Agent,你如何去设计。
2,了解 langchina 吗,用过吗,架构是什么,有哪些特征,
3,你是如何设计 rag 系统的,整体流程你讲一下包括数据导入,切割等操作。
4,向量数据库有了解吗,如 milvus
5,milvus 架构和核心组件
6,milvus 插入数据时,会经历那些步骤,是如何存储的;还会问查询逻辑
7,简单讲下Transformer 的工作流程
8,为什么要微调,有哪些技术
9,有了解 mcp 协议,a2a 协议,和 Agent 有什么关系

最后数据库相关
mysql,redis,隔离机制,以及 redis 中如果某个 key 过期了,会立即删除吗?如何做持久化机制。

以上大概这么多,有些可能记不住了,反正这问题还是容易回答的。

建议可以做一个小的 Agent 应用比如用 langchain 来玩个小项目,或设计一个 rag 项目,然后面试时跟面试官吹牛,把你做过程中对场景需求分析,设计,存储这些流程讲讲明白,不然知识还是零散的。

好了,分享到这,希望秋招的伙伴拿到心意 offer~

最后我的个人看法,如果有机会去做 Agent,或相关大模型业务,建议早点入局。等后面面试要求更高了,现在可能对你要求很松,毕竟很多公司都才刚开始摸索,谁也不懂,但大家都知道这是未来,所以必须拥抱。
当然了,比如 go,k8s,Java 等岗位薪资高的,那你自行选择了,如果你不懂,选择迷茫,也可以咨询我。
其实很多岗位公司内部都会“业务+AI”去探索尝试的,

早晚的事情,这东西你得懂,也是必备的技能。

另外,简历上你写点 AI 的东西,很加分,不信你试试

#社招#  #人工智能#  #工作#  #Agent#  #Agent技术#  #大模型#  #面试#  #面试问题记录##牛客AI配图神器#
全部评论
base南京,机会多多
点赞 回复 分享
发布于 09-06 14:32 贵州

相关推荐

09-30 16:05
已编辑
门头沟学院 Java
30min 自我介绍1. 有什么需求或理由使得你选择netty?2. 对于这样IM的实现基于netty自己做了什么?过程中遇到什么问题怎么解决的?3. 你说创建的这个对象引用了没法回收,可以具体讲讲吗?你这样说应该是特意了解了,这个对象的生命周期,在tcp(没听清)中如何回收的?4. 除了netty知道什么方法实现IM吗?5. 讲讲这个langchain4j,为什么不用langchain,以及基于langchain4j做了什么,基于怎样的需求6. 你提到向量化,有对分词做什么优化吗?7. 第二个项目,你觉得有必要用微服务吗?8. 讲讲你对微服务和DDD的看法9. 为什么要使用nacos?(我对比了Eureka说nacos保证强一致性...)10. 对于它的高可用,可以具体说说嘛?我举个例子,它有二三十个服务,在这个区,如果这些服务宕机了,那等它们恢复过来时,nacos如何保证这些服务可以正常使用的?(这里我是听都听不懂)11. 讲讲乐观锁和悲观锁12. 它们各自的区别和使用场景?比如多进/线程写一个文件应该用哪个,具体流程会怎样?13. mysql事务讲一下14. 知道他们的使用场景吗?比如可重复读通常什么时候用15. 你在做项目的过程中有遇到什么问题吗?怎么解决的?(讲了langchain4j调milvus有个方法官方文档没提到)16. 遇到官方文档没有相应解决办法时怎么做的?17. 有没有想过去改它的源码呢?18. 有了解过docker网络的几种模式吗?19. 有用docker部署过梯子吗?20. 项目有上线吗?21. 团队开发的流程怎么样?反问:后续--这两天有结果,可能还有一面业务--不透露建议--多了解应用层、应用场景之类的,看看博客文章,这个阶段不用过于注重底层。很好的面试,让我的八股无用武之处9.28 oc,国庆后入职,觉得能学到东西
查看22道真题和解析
点赞 评论 收藏
分享
1、给一个字符串str='10+10*5-8',实现加减乘除,输出结果---PDDdef calculate(s):s = s.replace(' ', '')stack = []num = 0op = '+'  # 初始操作符设为 '+'for i, char in enumerate(s):# 判断字符串是否只包含数字字符(0 - 9)if char.isdigit():# 多位数处理num = num * 10 + int(char)# 遇到运算符或到达末尾时,处理前一个操作符if char in '+-*/' or i == len(s) - 1:if op == '+':stack.append(num)elif op == '-':stack.append(-num)elif op == '*':stack.append(stack.pop() * num)elif op == '/':prev = stack.pop()if prev // num < 0 and prev % num != 0:stack.append(prev // num + 1)  # 向零取整else:stack.append(prev // num)op = charnum = 0return sum(stack)str_expr = '10+10*5-8'result = calculate(str_expr)print(result)2、给定一个二维数组(矩阵)要求按照螺旋顺序输出所有元素def spiral_order(matrix):if not matrix or not matrix[0]:return []result = []top, bottom = 0, len(matrix) - 1left, right = 0, len(matrix[0]) - 1while top <= bottom and left <= right:# 1. 从左到右遍历上边界for col in range(left, right + 1):result.append(matrix[top][col])top += 1  # 上边界下移# 2. 从上到下遍历右边界for row in range(top, bottom + 1):result.append(matrix[row][right])right -= 1  # 右边界左移# 3. 从右到左遍历下边界(需检查 top <= bottom)if top <= bottom:for col in range(right, left - 1, -1):result.append(matrix[bottom][col])bottom -= 1  # 下边界上移# 4. 从下到上遍历左边界(需检查 left <= right)if left <= right:for row in range(bottom, top - 1, -1):result.append(matrix[row][left])left += 1  # 左边界右移return result3、给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素(前 K 个高频元素)---阿里4、给你一个非负整数数组 nums 和一个整数 target 。向数组中的每个整数前添加 '+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 :(目标和)---阿里
点赞 评论 收藏
分享
评论
点赞
6
分享

创作者周榜

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