嵌入式技能提升30经典题

1. 结构体大小如何计算?
2. 宏OFFSET的作用是什么?如何求出结构体中一个成员的内存偏移量?
3. 结构体内存对齐问题,如何解决因为对齐产生的内存碎片?
4. C++容器:vector和map的了解。
5. C++构造函数和析构函数的理解,析构函数的作用,构造函数的种类,移动构造函数。
6. 虚函数、纯虚函数、虚函数表。
7. C++虚函数表的具体内容。
8. 函数回调的实现原理。
9. C++的四种类型转换。
10. C++智能指针。
11. strcpy和strncpy的区别,手写strcmp,实现memcpy。
12. 堆栈溢出和内存泄漏,排查和避免方法。
13. 数据结构的介绍。
14. 迭代器的作用,常见容器的底层实现。
15. 平衡二叉树的特点。
16. 变量声明和定义的区别,extern关键字。
17. 多态的概念和实现。
18. C++继承关系。
19. C/C++区别。
20. 动态链接和静态链接。
21. STL容器的使用。
22. 虚函数实现多态的原理。
23. 内存管理:如何管理1G内存?如何实现动态内存分配?
24. 共用体的作用。
25. 类定义在64位上占多少字节?加入虚析构函数后的情况。
26. 头文件重复包含解决方法。
27. 深拷贝和浅拷贝的区别。
28. 多线程如何保证线程安全。
29. 链接过程中涉及的文件类型。
30. 如何将左值强制转换成右值。
以上问题答案整理到下方专栏中
全部评论

相关推荐

头像
不愿透露姓名的神秘牛友
05-07 17:13
1. 堆区、栈区、全局区和代码区的作用。2. 如果给定的栈区很小,你会如何处理?3. static关键字的作用。4. const关键字的作用。5. volatile关键字的作用,并提供其应用场景。6. 能否同时使用volatile和const关键字?在什么情况下会使用这种组合?7. extern关键字的作用。8. 请说明如何在不使用第三方变量的情况下交换两个数的值。9. 大端模式和小端模式的区别。10. 字节对齐的作用以及对齐规则。11. 指针的注意事项。12. 指针和引用的区别。13. OSI七层模型。14. TCP的三次握手和四次挥手过程。15. TCP和UDP的区别。16. TCP的拥塞控制机制。17. TCP滑动窗口的概念。18. 软链接和硬链接的区别。19. chmod命令的作用,并提供一些常见的用法。20. I2C的时序和应答信号。21. I2C总线上的仲裁机制。22. 中断处理函数的注意事项和底层原理。23. 定时器的底层原理。24. 死锁的概念。25. 哈希表的数据结构和应用场景。26. 内存泄漏的概念,并说明如何避免内存泄漏。27. 进程和线程的区别,并说明多线程编程的优缺点。28. RTOS(实时操作系统)的特点,并说明其在嵌入式系统中的应用。29. DMA(直接存储器访问)的工作原理,并说明其优点。30. UART(通用异步收发器)的工作原理,并说明其在嵌入式系统中的应用。以上题目整理到面经专栏中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看30道真题和解析
点赞 评论 收藏
转发
1 8 评论
分享
牛客网
牛客企业服务