WeRide(文远知行)2025届校园招聘正式启动!

文远知行WeRide成立于2017年,是全球领先的自动驾驶科技公司,已经在全球7个国家30个城市开展自动驾驶研发、测试及运营,运营天数超1600天,是唯一同时拥有中国、美国、阿联酋、新加坡四地自动驾驶牌照的科技企业,在广州、北京、上海、深圳、无锡、郑州、南京、武汉、圣何塞、阿布扎比、新加坡、斯图加特等地设有办公室。

文远知行致力于开发安全可靠的无人驾驶技术,应用场景覆盖智慧出行、智慧货运和智慧环卫,已进入自动驾驶商业化运营阶段,商业营收居全球同类企业之首,形成自动驾驶出租车(Robotaxi)、自动驾驶小巴(Robobus)、自动驾驶货运车(Robovan)、自动驾驶环卫车(Robosweeper)、高阶智能驾驶(Advanced Driving Solution)等五大产品矩阵,提供网约车、随需公交、同城货运、智能环卫、高阶智能驾驶解决方案等多种服务。

b41bc6d2a9b2f170273e327cee9013fb.pnga7244b57ab03a383d49cff2283638eda.png2cad4f3c439672f29b23f9cf0c068aa9.png7fafdb405c906d1d4787398d24ca68e0.png

6dbc7f0f8ec362ef9049f4257dd22f49.jpeg

重磅,更多求职相关信息,欢迎加入【自动驾驶之薪求职星球】,海量岗位和面经不错过!

a7bcc4a2dbc79c091346e973fad4038e.png

### 文远知行 C语言 笔试题 文远知行作为一家专注于自动驾驶和人工智能技术的高科技企业,在招聘过程中对C/C++编程能力有较高要求。其笔试题通常涵盖C语言的基础语法、指针操作、内存管理、结构体、算法实现等核心内容。以下是一些可能出现在文远知行C语言笔试中的典型题目及其解析: #### 题目1:指针与数组操作 ```c #include <stdio.h> int main() { char *str[] = {"hello", "world"}; char **p = str; printf("%s", *(p + 1)); return 0; } ``` **输出结果:** `world` **解析:** `str`是一个指向字符串的指针数组,`p`指向`str`的首地址,`*(p + 1)`表示访问`str[1]`,即`"world"`。 #### 题目2:结构体内存对齐 ```c #include <stdio.h> #pragma pack(1) typedef struct { char a; int b; short c; } TestStruct; int main() { printf("%lu\n", sizeof(TestStruct)); return 0; } ``` **输出结果:** `7` **解析:** 使用`#pragma pack(1)`表示取消内存对齐优化,结构体成员按1字节对齐。`char a`占1字节,`int b`占4字节,`short c`占2字节,总大小为7字节。 #### 题目3:函数指针与回调函数 ```c #include <stdio.h> void callback(int a) { printf("Callback called with %d\n", a); } void register_callback(void (*func)(int), int value) { func(value); } int main() { register_callback(callback, 42); return 0; } ``` **输出结果:** `Callback called with 42` **解析:** 函数指针可以作为参数传递给其他函数,实现回调机制。`register_callback`接收函数指针`func`并调用它。 #### 题目4:递归与栈溢出问题 ```c #include <stdio.h> int factorial(int n) { if (n == 0) return 1; return n * factorial(n - 1); } int main() { printf("%d\n", factorial(5)); return 0; } ``` **输出结果:** `120` **解析:** 递归函数在每次调用时会占用栈空间。若递归深度过大,可能导致栈溢出。在笔试中常用于考察对递归机制的理解。 #### 题目5:内存泄漏与指针释放 ```c #include <stdio.h> #include <stdlib.h> int main() { int *p = (int *)malloc(10 * sizeof(int)); p = NULL; // 是否存在内存泄漏? return 0; } ``` **解析:** 存在内存泄漏。因为`p`指向的内存未被`free`释放,直接赋值为`NULL`导致无法再访问该内存区域,造成资源浪费。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值