ShioWSX
V2EX  ›  程序员

纯 C 的开发岗位,面试也要刷题吗?

By ShioWSX at 2025 年 2 月 10 日 · 6350 次点击

1 、各个大中厂内核网络开发,纯 C 语言开发岗位也要做 leecode 题目吗?

2 、日常用的都是纯 C ,要是做 leecode ,没有 C++的 STL ,应该很难做吧?

3 、有没有面过的指导下?大中厂的纯 C 开发也做题吗?内核网络方向的

42 条回复  •  2025-02-11 14:52:48 +08:00
zjsxwc
   1
zjsxwc  
   2025 年 2 月 10 日
linux glib ( GNU C Library )不就是类似 stl 的东西吗,里面各种容器。
ShioWSX
   2
ShioWSX  
OP
   2025 年 2 月 10 日
这个我没咋用过,用的都是内部一些老员工手搓的各种数据结构
kingcanfish
   3
kingcanfish  
   2025 年 2 月 10 日
啊? 做题用 python 不行吗
ShioWSX
   4
ShioWSX  
OP
   2025 年 2 月 10 日
@kingcanfish 主要是平常就用纯 C 和 shell ,其他的语言没用过,而且 python 一些数据结构和接口也不大熟悉
chingyat
   5
chingyat  
   2025 年 2 月 10 日
@zjsxwc #1 glib 和 glibc ( GNU C Library ) 可不是一回事啊
PTLin
   6
PTLin  
   2025 年 2 月 10 日
@zjsxwc 你说的是 gtk 的 glib 吧,这玩意没什么刷题网站支持
nanrenlei
   7
nanrenlei  
   2025 年 2 月 10 日
这种底层的更应该问算法了,要不都没什么可问的了,c 语言感觉就是数据结构、算法、通讯协议这些了
7uSK0CV63kJdhp0M
   8
7uSK0CV63kJdhp0M  
   2025 年 2 月 10 日
感觉开发纯 c 真的很痛苦 属于石器时代

领域无非:协议栈 内核 嵌入式 驱动

待遇咋样?
iOCZS
   9
iOCZS  
   2025 年 2 月 10 日
缺少一些数据结构和算法,从头开始撸有点麻烦
SageXiong
   10
SageXiong  
   2025 年 2 月 10 日
C 比较重数据结构与算法的东西,我觉得更要掌握好
csfreshman
   11
csfreshman  
   2025 年 2 月 10 日
刷题可以用 c++ stl ,亲测有效,哈哈哈哈
sir283
   12
sir283  
   2025 年 2 月 10 日
现在没有绝对的纯 C 岗位了,嵌入式都必须要会 C++了,手搓链表、通讯协议、串口协议、网络协议这些,太影响效率了,有这个时间,公司换个 Java 项目,都做完好几个了。

c/c++的岗位,第一考数据结构,
需要你现场手撕红黑树、哈希表,现场背各种协议栈(根据公司做的产品性质决定,如果是工控机,就是串口跟网络协议居多),
第二就是问你用过哪些库,会不会自己封装库,能不能自己写库之类的(根据公司做的产品深度绑定,都是公司内部库的制作跟打包发布),
第三就是问你的过往项目经验,比如在上一家公司做过哪些类型的项目,你用的什么技术栈,用了哪些库、哪些技术、克服了哪些问题、提升了多少效率、为什么要这样搞,
第四就是问你编程语言的熟悉程度,比如 C/C++、汇编、Python ,以及 Linux 、DOS 命令熟悉程度,shell 、bat 脚本也是必须的,部分还会要求你熟悉 Linux 内核驱动定制、构建、裁剪,这部分就偏技术了,基本就那么些,但是 C/C++/LINUX/PYTHON/SHELL 这几个是必问的,所以必须要熟悉。
xy90321
   13
xy90321  
   2025 年 2 月 10 日 via iPhone
C 不卷算法我也不知道还能卷啥?
neoblackcap
   14
neoblackcap  
   2025 年 2 月 10 日
leetcode 的的 C 环境只有标准库外加 uthash ,跟 STL 比起来的确简陋了一点
AFOX
   15
AFOX  
   2025 年 2 月 10 日
楼上手撕红黑树是认真的吗?
7uSK0CV63kJdhp0M
   16
7uSK0CV63kJdhp0M  
   2025 年 2 月 10 日
@sir283
这么高的要求 待遇多少啊?
wangpugod2003
   17
wangpugod2003  
   2025 年 2 月 11 日
@zhouyin 8K/月,不能再多了!
HunterX
   18
HunterX  
   2025 年 2 月 11 日
@wangpugod2003 #17 纯 C 路过,只能说远不止这个数
wnpllrzodiac
   19
wnpllrzodiac  
   2025 年 2 月 11 日 via Android
招个 5000 的岗位必须匹配 5 万的能力,才有面试资格,这就是现状
linyinma
   20
linyinma  
   2025 年 2 月 11 日
C 岗位面如果有笔试环节会考一些语言、算法相关的东西; 面试考的主要还是操作系统相关(进程通信、用户空间、内核空间)、网络相关、 具体行业的一些...
7uSK0CV63kJdhp0M
   21
7uSK0CV63kJdhp0M  
   2025 年 2 月 11 日
@HunterX
4 万有吗?
直聘上一堆一万多 c/c++
bibiisme
   22
bibiisme  
   2025 年 2 月 11 日
@sir283 bsp 的纯 c 岗位不少啊,linux kernel 哪怕后面用 rust 了也不可能上 c++的
zzz22333
   23
zzz22333  
   2025 年 2 月 11 日
@sir283 完了,我司的同事都会 C ,不会 C++,咋整呢。
zzz22333
   24
zzz22333  
   2025 年 2 月 11 日
@zhouyin #21 你看看互联网大厂里面的 Linux kernel 开发和优化的工资。
zzz22333
   25
zzz22333  
   2025 年 2 月 11 日
@xy90321 #13 跟硬件打交道啊,操作系统之类的,稳定性和优化,BSP 。
besto
   26
besto  
   2025 年 2 月 11 日
@sir283 当然有,嵌入式可不是只有 ARM / Linux 还有更裸的,甚至 romcode 最终要进芯片内部的。
7uSK0CV63kJdhp0M
   27
7uSK0CV63kJdhp0M  
   2025 年 2 月 11 日
@zzz22333

kernel 级别的坑位太少 那还有芯片级别的 比 kernel 高级多了

如果学历低 死命钻 都进不去

直聘上不是一堆 c/c++一万多
InkStone
   28
InkStone  
   2025 年 2 月 11 日
不是你们这个方向,不过也做过纯 C 开发。当时面试的时候,除非是面什么都不懂的应届生,不然基本不考算法题,都是问业务问题
7uSK0CV63kJdhp0M
   29
7uSK0CV63kJdhp0M  
   2025 年 2 月 11 日
@zzz22333

蚂蚁 华为啊 内核开发也才 2 万到 4 万 薪资比起技术难度其实是偏低的

随便看了就 vivo 的内核开发专家 6 万到 9 万 15 薪

结论:内核开发也是农民工
di94sh
   30
di94sh  
   2025 年 2 月 11 日
学个 python 看半天语法就可以刷了,刷几十道就熟练了。
ShioWSX
   31
ShioWSX  
OP
   2025 年 2 月 11 日
@InkStone 主要是担心是不是大厂不管什么岗位只要开发都要做题,考虑到纯 C 没有轮子,很难做,除非那种翻转链表啥的,看了一下现在大概放心了,纯 C 这边对操作系统和网络关注关注较多,刷题好像不大关注
XIVN1987
   32
XIVN1987  
   2025 年 2 月 11 日
单片机不都是纯 C 吗??

当然了,可能有人认为单片机开发者属于电工,,不属于程序员,,这个也有一定道理。。
zzz22333
   33
zzz22333  
   2025 年 2 月 11 日
@zhouyin #29 啥开发都是农民工。
lpe234
   34
lpe234  
   2025 年 2 月 11 日
@ShioWSX #4 对你而言,学习 Python 还不是分分钟的事情。
bfdh
   35
bfdh  
   2025 年 2 月 11 日
1. C 语言基础/库:指针、多级指针、void 指针、函数指针、一/二维数组、指针数组、各种类型之前的强制转换、位操作等;手搓个双向循环链表、二分查找、哈希表之类的不过分吧(红黑树就算了吧,毕竟我也不会); str(n)cpy 、str(n)cat 、s(n)printf 等到底有没有结束符、最多写多少字节;什么是内存泄漏,什么是内存空洞,什么是 double-free ,怎么排查;各种数据类型在特定 CPU 架构下占多少字节,结构体内存对其。

2. 网络基础:大致就是《 tcp-ip 详解》那本书,udp/tcp 异同、应用场景,网段划分,广播/单播/组播,七层/四层模型;常见报文( ip/tcp/udp/arp/icmp/dhcp/dns/http/https 等)不需要知道每个细节,但是大体作用是什么,报文里面包含了哪些信息,基本交互流程应该要知道。

3. linux 基础:系统启动流程,大提有哪些阶段,每个阶段一般处理哪些事情;进程/线程区别;进程/线程间通信;网络通信;常用对称/非对称加密方案、密钥协商、摘要算法;内核/应用层通信;文件系统。

4. linux 网络子系统,报文如何从驱动传递到网络子系统,子系统收到报文是立即处理还是放队列(如果放队列,又什么时候再处理),如何确定由哪个 cpu 处理,具体如何处理(如何确定接收还是转发,各种虚接口如何接收到报文,如何查找路由表,如何送到 socket ,bridge 如何处理报文,vlan 报文处理等); netfilter 框架( iptables/ipset/ebtables )、链接跟踪、nat 如何处理;性能如何调优;

5. 调试手段:内核崩溃、应用层崩溃、死锁、栈溢出等,主要调试工具的使用,汇编语言。

6. 其他 1:I2C 、SPI 、UART 、USB 等协议;其他编程语言;学习能力;模电/数电基础常识; wifi 基础知识等

7. 其他 2:面试者在面试过程中的表现,比如表达是否流畅,思路是否清晰,逻辑是否通顺。
bibiisme
   36
bibiisme  
   2025 年 2 月 11 日
@zhouyin 华为阿里搞前后端开发的大头兵不也是这个价?
7uSK0CV63kJdhp0M
   37
7uSK0CV63kJdhp0M  
   2025 年 2 月 11 日
@bibiisme
所以才说内核开发 技术难 工资低 也是农名工
7uSK0CV63kJdhp0M
   38
7uSK0CV63kJdhp0M  
   2025 年 2 月 11 日
@bfdh
这么多这么难的技术 达到要求了 能提供多少钱一个月
bibiisme
   39
bibiisme  
   2025 年 2 月 11 日
@zhouyin 那除了搞算法的全是农民工
me1onsoda
   40
me1onsoda  
   2025 年 2 月 11 日
@bibiisme 算法也有民工啊。。
bfdh
   41
bfdh  
   2025 年 2 月 11 日
@zhouyin #38 很多内容只是要求会用,能理解,并不是要完全掌握细节。
tomychen
   42
tomychen  
   2025 年 2 月 11 日
所以纯 C 的程序员,真的蛮不好找的

特别是熟悉 libc 还有网络及操作系统的(例如系统调用)

35 楼列的这些,如果都能答上来,大部分我感觉都可以直接入职了
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
© 2026 V2EX · 67ms · 3.9.8.5