前言
C/C++面试,你需要掌握的不仅是编辑C++语言的基础知识、以及在实际项目中如何应用这些知识。下面是我整理的一些C/C++经典面试题,分享给大家,希望对大家有帮助,并预祝各位正在面试的小伙伴面试顺利并找到理想的工作!
试题总结
26.假设你是参与设计嫦娥卫星的嵌入式单板软件工程师,其中有一个快速搜索可能要用到哈希变或者平衡二叉树,要求不管什么条件下,单板必须在指定的短时间内有输出,你会采取那??????????????????????,??????????????????????
HASH.HASH访问速度较快.
27.strcpy()容易引起缓冲区溢出问题,请问有什么函数可以替代以减少风险,为什么?
strncpy
28.请指出spinlock,mutex,semaphore,critical section的作用与区别,都在哪些场合使用.
spin_lock Linux 内核自旋锁. Mutex Windows 互质量, semaphore POSIX ,critical section Windows
29.在哪些方法使阻塞模式的recv函数在没有收到数据的情况下返回(不能将socket修改为非阻塞模式)请描述得详细点.
使用select
30.有3个红色球,2个白色球,1个绿色球.取出两个不同颜色的球就能变成两个第三种颜色的球(比如:取出1红球,1白球,就能变成2个绿球).问,最少几次变化能将所有球都变成同一颜色,说明步骤和原因?
31.单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题。比如一个链表是这样的: 1-