前言
最后编辑于2026年03月13日
今天字节一面了!!!最后感觉来说,还行吧,有几个问题答不上来,代码手撕也没写完。不过面试官人挺好了,长得宽厚亲近,没给什么压力。
首先是自我介绍,我就简单介绍了一下,主要讲了我的项目经历。然后就开始提问。
一开始是基于项目的提问:
- 问我第一个项目的目的和难点是什么,我
- 问我知道为什么lora流行
- 为什么rag比关键词匹配好
- 问我pdf的切片问题
然后就是一般性的提问了,问了不少多线程和多进程的问题,但是我几乎没看这部分,有点积极:
- 问我c++到现在多了哪些特性,我
- 大模型应用中,为什么gpu比cpu高效
- gpu为什么适合矩阵乘法
- 矩阵乘法如何并行
- 线程和进程的优缺点
- 进程间如何通信
- 进程间通信的内存在哪
- 如何申请进程通信需要的内存
- 你知道有哪些锁
- 听说过无锁语言吗
- 除了互斥锁,还有什么锁
- 原子操作的定义是什么,我答不上来,又问我原子操作怎么实现的,也答不上来……
- python的GIL锁是什么
好像就这些,然后就是手撕环节,还是飞书的网页ide,没用过。
题目还算比较简单的,但是现场有点太紧张了,脑袋有点空空,好在思路没什么问题。顺便一提,手撕环节居然没有提交选项,就只有示例,我只能用示例测试。8个示例,前3个没问题,后面几个也大致没毛病,就是一些边缘情况和特殊情况。
具体是:
你拿到一段字符串,是一个json的部分,其缺失了尾部,让你尽可能补充回来。比如:
{"user": {"name": "李四", "tags": ["开发", "An->{"user": {"name": "李四", "tags": ["开发", "An"]}}{"items": [1, 2, 3,->{"items": [1, 2, 3]}
全部示例如下:
| |
我是用栈记录来做的,基本属于模拟。