已注销 level
获赞
1281
粉丝
982
关注
2
看过 TA
4647
IP属地:北京
暂未填写个人简介
私信
关注
2024-08-05 09:01
1. C++中的引用和指针有什么区别?2. 什么是RAII(资源获取即初始化)?3. C++中的智能指针有哪些?各自的特点是什么?4. 什么是内存对齐?如何影响性能?5. C++中的const关键字有什么用?可以修饰哪些内容?6. 解释一下什么是多重继承及其潜在问题。7. C++中如何实现接口?与Java的接口有什么区别?8. 什么是模板元编程?9. 解释一下C++中的异常处理机制。10. C++中如何防止对象被拷贝?11. 说说C++中的访问控制(public, protected, private)。12. C++中的友元函数和友元类有什么用?13. 什么是析构函数?它的作用是什么?14. C++中如何实现单例模式?15. 解释一下C++中的命名空间。16. C++中的类型推导有什么用?如何使用?17. 讲一下C++中的字符串处理(如std::string)。18. C++中的虚函数表(vtable)是什么?19. 解释一下C++中的默认参数。20. C++中的类型转换有哪些方式?21. 说说C++中的运算符重载的注意事项。22. C++中的动态多态和静态多态有什么区别?23. C++中的std::move和std::forward有何区别?24. 解释一下C++中的lambda表达式的使用场景。25. C++中的std::bind和std::function有什么用?26. C++中的范围for循环是如何实现的?27. C++中的std::optional是什么?有什么用?28. 讲一下C++11中的线程库的基本使用。29. C++中的volatile关键字有什么作用?30. C++中的static_assert有什么用?  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看30道真题和解析
0 点赞 评论 收藏
分享
2024-08-01 08:47
1. push_back()左值和右值的区别是什么?2. move底层是怎么实现的?3. 完美转发的原理是什么?4. 空类中有什么函数?5. explicit用在哪里?有什么作用?6. 成员变量初始化的顺序是什么?7. 指针占用的大小是多少?8. 野指针和内存泄漏是什么?如何避免?9. malloc和new的区别是什么?10. 多线程会发生什么问题?线程同步有哪些手段?11. 什么是STL?12. 对比迭代器和指针的区别13. 线程有哪些状态,线程锁有哪些?14. 解释说明一下map和unordered_map15. vector中的push_back()和emplace_back()的区别、以及使用场景16. 如何实现线程安全,除了加锁还有没有其他的方式?17. vector扩容,resize和reserve的区别18. vector扩容为了避免重复扩容做了哪些机制?19. C++中空类的大小是多少?20. weak_ptr是怎么实现的?21. 虚函数的底层原理是什么?22. 一个函数f(int a,int b),其中a和b的地址关系是什么?23. 移动构造和拷贝构造的区别是什么?24. lamda表达式捕获列表捕获的方式有哪些?如果是引用捕获要注意什么?25. 哈希碰撞的处理方法26. unordered_map的扩容过程27. vector如何判断应该扩容?(size和capacity)28. 构造函数是否能声明为虚函数?为什么?什么情况下为错误?29. 类中static函数是否能声明为虚函数?30. 哪些函数不能被声明为虚函数?31. 如何保证类的对象只能被开辟在堆上?(将构造函数声明为私有、单例)32. 讲讲你理解的虚基类33. C++哪些运算符不能被重载?34. 动态链接和静态链接的区别,动态链接的原理是什么?35. C++中怎么编译C语言代码?答案附在面经中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看35道真题和解析
0 点赞 评论 收藏
分享
2024-07-31 08:29
1. static 关键词的作用是什么?2. static 修饰局部变量会用在什么时候?3. static 修饰全局变量,全局变量会在那个空间?4. static 修饰函数时,函数的作用域是什么?5. extern 关键字的作用是什么?6. volatile 关键字的作用是什么?7. sizeof 和 strlen 的区别是什么?8. strcpy 和 memcpy 的区别是什么?9. 如何理解变量的定义和使用?10. 数组和指针的区别是什么?11. 回调函数的定义是什么?12. 函数指针和指针函数的区别是什么?13. 空指针(NULL)和 void * 的区别是什么?14. 结构体与联合体之间的主要区别是什么?15. 什么是内存泄漏?如何产生的?16. 什么是内存溢出?如何产生的?17. 堆和栈的区别是什么?18. 栈区和堆区的特点是什么?19. 常量区和代码区的定义是什么?20. 静态区的作用是什么?21. BSS 区和 Data 区的区别是什么?22. 大小端模式的定义是什么?23. C 语言的编译过程包含哪些步骤?24. 预处理的作用是什么?25. 编译阶段的主要任务是什么?26. 汇编阶段的主要任务是什么?27. 链接阶段的主要任务是什么?28. 如何避免内存泄漏?29. 动态内存分配和静态内存分配的区别是什么?30. 如何判断一个变量是否为野指针?面经整理到下方专栏  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看30道真题和解析
0 点赞 评论 收藏
分享
2024-07-30 08:28
1. 前后台程序与实时操作系统的区别是什么?2. 实时系统的基本特性有哪些?3. 什么是不可剥夺型内核?它的特点是什么?4. 可剥夺型内核的定义及适用场景是什么?5. 什么是可重入型函数?它有什么特点?6. 使用可剥夺型内核时,为什么不应直接使用不可重入型函数?7. 为什么应用程序一定要使用空闲任务?8. volatile关键字的作用是什么?在什么情况下需要使用?9. 变量声明时使用volatile修饰的情况有哪些?10. 一个参数可以同时是const和volatile吗?为什么?11. 一个指针可以是volatile吗?请解释。12. 函数int square(volatile int *ptr)能实现预期目标吗?为什么?13. 临界区和临界资源的定义是什么?14. 什么是原子操作?原子性如何影响临界资源的保护?15. 如何通过关中断来保护临界资源?16. 什么是自旋锁?它的主要用途是什么?17. 死锁的概念是什么?如何避免死锁?18. uCOS操作系统中的任务是如何组成的?19. 什么是空任务控制块链表?它与任务控制块链表有什么区别?20. uCOS的启动过程是怎样的?21. 任务的五种状态分别是什么?22. FreeRTOS的调度方式是什么?23. FreeRTOS的任务栈是如何设定的?参考依据是什么?24. FreeRTOS中使用的IPC通信方式有哪些?25. Linux中FTP服务和SMTP服务的默认端口分别是多少?26. 操作系统采用缓冲技术的目的是什么?27. 红黑树与AVL树的主要区别是什么?28. Servlet的生命周期可以分为哪几个阶段?29. Linux执行ls命令时,会引起哪些系统调用?30. FreeRTOS移植到哪些平台,移植过程占用哪些硬件资源?下方面经中有答案  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看30道真题和解析
0 点赞 评论 收藏
分享
2024-07-29 09:23
1. 为什么构造函数不能为虚函数?2.为什么析构函数可以为虚函数,如果不设为虚函数可能会存在什么问题?3 .不能声明为虚函数的有哪些4 sizeof 和 strlen 的区别5 lambda 表达式(匿名函数)的具体应用和使用场景6 explicit 的作用(如何避免编译器进行隐式类型转换)7 C 和 C++ static 的区别8 static 的作用9 static 在类中使用的注意事项(定义、初始化和使用)10 static 全局变量和普通全局变量的异同11 const 作用及用法12define 和 const 的区别13 define 和 typedef 的区别14 用宏实现比较大小,以及两个数中的最小值15 inline 作用及使用方法16  inline 函数工作原理17 宏定义(define)和内联函数(inline)的区别18 new 的作用?19 new 和 malloc 如何判断是否申请到内存?20 delete 实现原理?delete 和 delete[] 的区别?21 new 和 malloc 的区别,delete 和 free 的区别22 malloc 的原理?malloc 的底层实现?23 C 和 C++ struct 的区别?24 为什么有了 class 还保留 struct?25 struct 和 union 的区别26 class 和 struct 的异同27 volatile 的作用?是否具有原子性,对编译器有什么影响?28 什么情况下一定要用 volatile, 能否和 const 一起使用?29 返回函数中静态变量的地址会发生什么?30 extern C 的作用?上述问题下方专栏有整理  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看31道真题和解析
0 点赞 评论 收藏
分享
2024-07-25 09:16
1. sizeof(1==1) 在 C 和 C++ 中分别是什么结果?2. memcpy 函数的底层原理?3. strcpy 函数有什么缺陷?4. auto 类型推导的原理?5. malloc一次性最大能申请多大内存空间?6. public、protected、private的区别?7. 左值和右值的区别?左值引用和右值引用的区别,如何将左值转换成右值?8. std::move() 函数的实现原理?9. 什么是指针?指针的大小及用法?10. C++ 11 nullptr 比 NULL 优势?11. 指针和引用的区别?12. 常量指针和指针常量的区别?13. 函数指针和指针函数的区别?14. 强制类型转换有哪几种?15. 如何判断结构体是否相等?能否用 memcmp 函数判断结构体相等?16. 参数传递时,值传递、引用传递、指针传递的区别?17. 什么是模板?如何实现?18. 函数模板和类模板的区别?19. 什么是可变参数模板?20. 什么是模板特化?为什么特化?21. include " " 和 <> 的区别?22. 泛型编程如何实现?23. C++命名空间?24. C++ STL六大组件?25. 简单说一下大端、小端。26. 什么是git?27. 为什么要用git?在LINUX中我们可以使用mmap用来在进程虚拟内存地址空间中分配地址空间,创建和物理内存的映射关系。28. 简述集中式版本控制库和分布式版本控制库的区别。29.C++ 中的异常处理机制是怎样的?30.什么是 RAII(资源获取即初始化)?它在 C++ 中的应用是什么?上述问题下方专栏有整理  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看30道真题和解析
0 点赞 评论 收藏
分享
2024-07-24 08:27
1. 系统模块在系统组件中,我们需要学习如下模块:•系统 API(应用程序接口):系统 API 提供了用户和应用程序与操作系统交互的方式。通过调用 API,用户程序可以请求操作系统执行特定的任务,如文件操作、进程管理等。•设备驱动程序:设备驱动程序是操作系统与硬件设备之间的桥梁。它们使操作系统能够控制和管理各种硬件设备,如打印机、网络适配器等。•I/O(输入输出):I/O 涉及数据在计算机系统内外的传输。2. 内存模块在内存管理中,我们需要学习如下模块:•物理内存:物理内存是计算机硬件中实际存在的内存单元。操作系统负责管理物理内存的分配和释放。•虚拟内存:虚拟内存允许程序使用比实际物理内存更大的地址空间。操作系统通过虚拟内存管理,将程序的虚拟地址映射到物理内存上。•内存映射:内存映射将文件映射到内存中的一段地址空间,使得可以像访问内存一样访问文件内容。3. 进程模块在进程管理中,我们需要学习如下模块:•进程调度:进程调度决定了哪个进程在何时运行。操作系统需要公平地分配 CPU 时间给不同的进程,以保持系统的平稳运行。•中断处理:中断是硬件事件的通知,操作系统需要及时响应并进行适当的处理。中断处理保证了系统对外部事件的敏感性。•线程与同步:线程允许程序并发执行多个任务。同步机制确保了多个线程之间的数据一致性和协调运行。4. 网络模块在网络组件中,我们需要学习如下模块:•网络协议:网络协议是数据在网络中传输的规则和约定。TCP/IP 协议栈是广泛使用的网络协议,确保了数据的可靠传输。•套接字编程:套接字是网络通信的接口,操作系统通过套接字编程提供了网络通信的能力。套接字允许应用程序通过网络发送和接收数据。•NIC 驱动程序:网络接口控制器(NIC)驱动程序负责管理计算机连接到网络的硬件接口。它们实现了数据在物理层的传输。5. 存储模块在存储管理中,我们需要学习如下模块:•文件系统:文件系统是数据组织和存储的方式,使得文件和目录的管理变得高效。常见的文件系统有 ext4、NTFS 等。•I/O 缓存:I/O 缓存用于加速数据的读写操作。操作系统会在内存中维护一块区域,用于存放最近访问的数据块。•存储设备:存储设备包括硬盘、固态硬盘等。操作系统需要管理这些设备的读写和存储。相关知识下边有文章供参考  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
2024-07-22 10:31
一、嵌入式方向学习路线1、C语言嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等。2、Linux基础Linux操作系统的概念、安装方法,详细了解Linux下的目录结构、基本命令、编辑器VI ,编译器GCC,调试器GDB和Make项目管理工具, Shell Makefile脚本编写等知识,嵌入式开发环境的搭建。3、Linux系统编程重点学习标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信(pipe、FIFO、消息队列、共享内存、signal、信号量等),同步与互斥对共享资源访问控制等重要知识,主要提升对Linux应用开发的理解和代码调试的能力。4、Linux网络编程计算机网络在嵌入式Linux系统应用开发过程中使用非常广泛,通过Linux网络发展、TCP/IP协议、socket编程、TCP网络编程、UDP网络编程、Web编程开发等方面入手,全面了解Linux网络应用程序开发。重点学习网络编程相关API,熟练掌握TCP协议服务器的编程方法和并发服务器的实现,了解HTTP协议及其实现方法,熟悉UDP广播、多播的原理及编程方法,掌握混合C/S架构网络通信系统的设计,熟悉HTML,Javascript等Web编程技术及实现方法。5、数据结构与算法数据结构及算法在嵌入式底层驱动、通信协议、及各种引擎开发中会得到大量应用,对其掌握的好坏直接影响程序的效率、简洁及健壮性。此阶段的学习要重点理解数据结构与算法的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找排序算法等应用及其C语言实现过程。6、C++ 、QTC++是Linux应用开发主要语言之一,本阶段重点掌握面向对象编程的基本思想以及C++的重要内容。图形界面编程是嵌入式开发中非常重要的一个环节。由于QT具有跨平台、面向对象、丰富API、支持2D/3D渲染、支持XML、多国语等强大功能,在嵌入式领域的GUI开发中得到了广范的应用,在本阶段通过基于QT图形库的学习使学员可以熟练编写GUI程序,并移植QT应用程序到Cortex-A8平台。相关八股知识整合到下方面经中  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
分享
2024-07-02 09:02
1.关键字static的作用是什么2.关键字const是什么含意?3.const和宏定义的区别4.关键字volatile有什么含意 并给出三个不同的例子。5.引用和指针有什么区别6..h头文件中的ifndef/define/endif 的作用?7.描述实时系统的基本特性8.全局变量和局部变量的区别9.全局变量和静态全局变量的区别10.static函数与普通函数11.什么是平衡二叉树?12.堆栈溢出一般是由什么原因导致的?13.什么函数不能声明为虚函数?14.不能做switch()的参数类型15.程序的内存分配16.堆与栈的区别17.描述内存分配方式以及它们的区别18.malloc和new的区别是什么?19.进程与线程的区别20.多进程和多线程的区别21.什么是预编译,何时需要预编译22.三种基本的数据模型23.简述数组与指针的区别?24.位操作25.访问固定的内存位置(Accessing fixed memory locations)26.中断与异常的区别27.变量的定义总结28.为什么要使用宏,宏有什么优缺点?29.内联函数及与宏的区别30.MCU启动过程31.Arm体系结构32.什么是嵌入式?33.进程与线程中的通信方式34.如何将PC上的程序移植到嵌入式系统上,需要注意些什么?35.设计一种通信方式,从一台主机向另外一台主机传递数据,那么应该怎么选择。36.FreeRTOS之全配置项详解、裁剪(FreeRTOSConfig.h)37.DMA为什么能提高效率?38.优先级反转以及解决方法39.信号量及信号量与自旋锁的区别40.strcpy和strncpy的缺陷答案收录到专栏中,集合上千篇面经知识汇总面经  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看40道真题和解析
0 点赞 评论 收藏
分享
2024-06-12 10:56
1.tcp建立连接和收发数据用到的函数2.TCP为什么能保持稳定(感觉像开放题)3.TCP/IP模型 HTTP FTP UDP4以太网的MAC地址占多少字节?5.TCP/IP熟悉吗?TCP有一个ACK和ACK的number有什么区别?6.GET/POST区别7.计算机的存储结构(寄存器,高速缓存L1L2L3,贮存,本地磁盘等8.计算机网络有几层9.拥塞避免,路由选择哪一层?10.http的状态码,400常见的几个状态码11.ARP协议是什么?在那一层12.FREERTOS,信号量消息队列,多任务调度13.RTOS和Linux的区别14.FreeRTOS和Linux哪个熟些,用FreeRTOS时,创建了几个任务,任务怎么通信的?如果give 10次信号量,那么take信号量是一次还是十次?15.信号量怎么用。16.linux命令 怎么在文件夹中查找关键字 并排序。17.Linux下有一个fork()函数有什么作用?创建成功父进程返回什么?子进程返回什么18.信号量怎么通信?(辅助共享内存的手段19.什么是临界区(答错了,答成了临界资源,临界区是需要访问临界资源的代码20.make、cnake说一下21.linux进程有几种状态?(我:是6种吗?面试官:不是,是3种。我:呃,那我应该不太了解。然后是面试官自己回答这个问题…)22.问Linux socket编程步骤23.问使用什么命令查看socket编程的ip和端口状态24.问条件变量的函数名是什么25.介绍一下libevent库26.问vim命令,编辑模式,命令模式,末行模式27.问linux查看内存命令,查看cpu占用命令28.问一般怎么调试代码29.Linux的设备:字符设备、块设备、网络设备30.Linux的一些基本命令(ifconfig、touch、vim等)答案部分整理到专栏 都有详细的理解  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看18道真题和解析
0 点赞 评论 收藏
分享
2024-06-04 08:51
1. 栈和队列的特点和应用场景?2. 数组和链表的优缺点?3.队列、栈和二叉树的基本概念。4. 3种常见的排序算法。5. 链表有哪几种类型?如何操作删除一个双向链表的结点?6. 判断一个链表是否有环。7. 找到链表环的入口结点,并输出。8. 输出一个二叉树的深度。9. 在什么样的场景下会选择不同的数据结构?10. 实现链表找环、小于n的质数、二叉树前序遍历(递归和非递归)。11. 实现单向链表的排序。12. 实现快速排序算法。13. 页面置换算法有哪些?各自的特点是什么?14. 一个硬件计数器控制系统,实现设置触发时间和取消任务的功能。15. 设计一个存储IP地址和天气信息的文件,并快速查找某个IP地址的天气信息?16. 判断计算机的字节序(大端/小端)。17. 实现"数猴王"算法。18. 实现IP地址分割(LeetCode 93)。19. 实现链表的插入操作。20. 如何用两个栈实现一个队列?21. 实现字符串查找子字符串的功能。22. 实现求素数的功能。23. 实现宏定义交换两个数、把数字转换为字符串、判断程序正确性。24. 如何判断一台计算机是大端还是小端存储?25. 什么是内存对齐?为什么需要内存对齐?26. 进程和线程的区别是什么?27. 介绍进程和线程的同步机制。28. 什么是优先级反转和优先级继承?29. 为什么内核区要放在虚拟内存的高位地址?30. 自旋锁的底层实现原理是什么?为什么自旋锁不能睡眠?31. 内核同步有哪些方式?32. 如何避免多个线程抢占共享资源?33. 互斥锁的原理是什么?34. 如果有一个线程长时间占用资源,会发生什么?如何解决?35. 操作系统的基本组成是什么?36. 内核态和用户态有什么区别?37. 操作系统为什么需要缓存机制?38. 在什么情况下会发生进程调度?39. 操作系统如何管理物理地址?40. 向0地址写或读数据会发生什么?答案收录到专栏  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
查看40道真题和解析
0 点赞 评论 收藏
分享
2024-05-31 08:51
查看30道真题和解析
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客企业服务