跳转到内容
View in the app

A better way to browse. Learn more.

彼岸论坛

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

[程序员] 这些 C 语言的题,各位不用电脑纯手写的话,能做到什么程度呢?

发表于

这些 C 语言的题,各位不用电脑纯手写的话,能做到什么程度呢?

今天下午笔试被挂了,题目如下:

// 1. 下面的输出是什么,请说明原因(钓鱼执法.....很容易就做错了)

int main() {
     int a[5] = {1, 2, 3, 4, 5};
     int *p = &a + 1;
     printf("%d, %d", *(a+1), *(p - 1));

     return 0;
}

// 2. 请用一个 C 语言表达式判断某个数是否为 2 的 N 次幂 (没搞懂如何用一个表达式计算,这道题不谷歌真的做不出吧.....)

// 3. 计算某个数的质因数(例如:12 = 2 * 2 * 3 ) (这里想太多了,空在那做后面的去了)

// 4. 写出单链表反转的过程(写太多遍了,直接秒)

// 5. 写一个函数判断回文数(没写出最优解,我转换成字符串用双指针判断了)

// 6. 删除字符串中的数字并压缩字符串的空间,例如: 输入为 "abc123de45fg" ,输出 "abcdefg" (这里也是双指针做的,不需要开辟新的空间,判断字符串结尾是'\0')

// 下面的 7 和 8 选一道做
// 7. 微积分题,计算 y=x 和 y=x^2 围成的面积(想了一下做出来了)
// 8. 在[0, 2Π]的区间内,计算 y=sinx 与 x 轴围成的面积

// 9. 矩阵计算,这里具体数字记不清了,随便填一下不影响
//        1 2 3            3 2 1
// A =  4 5 6    B =  6 5 4
//        7 8 9            9 8 7

// a. 计算 AB 的值 (还记得怎么算)
// b. 计算 A 的逆矩阵(不记得相关概念了,没做对)

// 10. 写出 TCP/IP 的系统调用函数及用法(之前的工作基本不用 tcp/ip ,这里写不出)
// 11. libudev 的设备通信过程(这个也不了解)
// 12. 讲一下 linux 的进程间通信(这个就是八股文那几个了)
// 13. 讲一下 linux 系统从开机到出现登陆界面的详细过程(讲了下 cpu 会从某个地址加载 bootloader ,然后 bootloader 会初始化哪些环境,然后把控制权交给内核了,最后内核从 init 函数开始启动,这里我了解的其实也不是很详细)
// 14. 还有一道题和前面几道类似的题,记不起来了

// 一道翻译题,应该是 I2C 总线手册上的


我看了下我大概写出来了一半的题,被 hr 狠狠的羞辱说题目很基础,认为我大学没认真上 qwq...

然后面的岗位是嵌入式工程师,之前做三年机器人相关的开发。

我这水平是不是菜到家了?

Featured Replies

No posts to show

创建帐户或登录来提出意见

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.