2024嵌入式面试:OPPO嵌入式面试题及参考答案

news/2024/9/23 14:26:08/

目录

TCP 与 UDP 的区别是什么?

请简述 TCP 的三次握手过程。

HTTP 协议的工作原理是什么?

C++11 引入了哪些新特性?

什么是智能指针?如何解决其内存泄漏问题?

进程间有哪些通信方式?

CPU 的调度策略有哪些?

如何保证线程安全?多线程编程需要注意哪些问题?

SPI 是什么?它有几条线?支持几种模式?

是否使用过 IO 模拟 SPI?请描述一下。

堆和栈在内存管理中有什么区别?

调用函数时,哪些内容需要压栈?

请简述 uboot 的启动流程。

uboot 启动前需要做哪些准备工作?

uboot 启动时使用的是物理地址还是虚拟地址?是否需要开启 MMU?

x86 汇编和 Arm 汇编之间有哪些区别?

请介绍一个你熟悉的驱动程序。

你是否学过操作系统?自旋锁和信号量有什么区别?

Linux 系统的启动流程是怎样的?

你学过哪些专业课?哪些课程学得比较好?

你在 Linux 下写过哪些驱动程序?

你是否了解 linux epoll?

请讲述一下 LCD 驱动和 input 子系统。

驱动的中断函数应该如何编写?

你是否了解 key_report 的底层实现?

如何编写一个字符设备驱动程序?

如何编写一个按键驱动程序,并实现其中断函数?

请讲讲数组和链表的异同。

你对 SPI 和中断的理解是什么?

你对 Linux 中断的理解是什么?

你对多线程编程有哪些了解?

你对内存管理有哪些了解?

什么是僵尸进程、孤儿进程、守护进程?

僵尸进程有什么危害?

线程间有哪些通信方法?

什么是友元?在 C++ 中如何使用?

基类的构造函数和析构函数能否被派生类继承?

哪些函数不能声明为虚函数?

vector 的底层实现是怎样的?

什么是野指针?如何产生?如何避免?

栈在 C 语言中有什么作用?

C++ 的内存管理是如何进行的?

什么是内存泄漏?如何判断和减少内存泄漏?

字节对齐问题对程序有何影响?

C 语言函数参数压栈顺序是怎样的?

C++ 如何处理返回值?

栈的空间最大值是多少?在 1G 内存的计算机中能否 malloc (1.2G)?为什么?

strcat、strncat、strcmp、strcpy 等函数在什么情况下会导致内存溢出?如何改进?

malloc、calloc、realloc 等内存申请函数有何区别和使用场景?


TCP 与 UDP 的区别是什么?

TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Datagram Protocol,用户数据报协议)是两种不同的网络传输协议,它们在许多方面存在区别:

  1. 连接性

    • TCP 是面向连接的协议,在通信之前需要建立连接,确保数据传输的可靠性和顺序性。
    • UDP 是无连接的协议,不需要建立连接,直接发送数据报,可能会出现数据丢失、乱序等情况。
  2. 可靠性

    • TCP 提供可靠的数据传输,通过确认、重传、拥塞控制等机制保证数据的完整性和准确性。
    • UDP 不保证数据的可靠交付,接收方收到的数据可能是不完整或错误的。
  3. 顺序性

    • TCP 确保数据按照发送的顺序到达接收方。
    • UDP 不保证数据的顺序,数据可能会乱序到达。
  4. 头部开销

    • TCP 头部较大,包含更多的控制信息,如序列号、确认号、窗口大小等。
    • UDP 头部较小,只有源端口、目的端口、长度和校验和等少量字段。

http://www.ppmy.cn/news/1511405.html

相关文章

云服务器Docker内部署服务后,端口无法访问?

云服务器Docker内部署服务后,端口无法访问,可以按照以下思路进行排查: 以【docker run --name my-nginx -d -p 9395:80 nginx】举例: 查看Docker映射是否正确,可使用docker ps命令查看。Docker是否设置端口映射&#…

怿星科技与您相约——2024 Testing Expo

汽车测试及质量监控博览会(中国)Testing Expo China-Automotive 怿星科技展位路线 届时欢迎莅临2057号展台!

宠物空气净化器推荐买吗?清除浮毛的效果好吗

家里养了两只哈基米,它们每天的日常就是早上跑酷、中午跑酷、晚上还在跑酷,有时候看着很好玩,每天都活蹦乱跳的,这在说明它们很健康,我把它们养得很好,所以原谅它们经常跑跑跳跳得行为,虽然会把…

STM32使用I2C

STM32使用I2C 1.I2C通讯概述: I2C(Inter-Integrated Circuit)和和SPI一样,都是实现主控芯片和外挂芯片之间的数据交流。 通信线 SCL(Serial Clock):串行时钟线。SDA(Serial Data)&#xff1…

Vue.js (1)

1.定义: Vue.js 是一个流行的 JavaScript 框架,用于构建用户界面和单页应用程序。它的核心理念是通过声明式的数据绑定和组件化的开发方式,使得前端开发变得更加高效和灵活。以下是一些关于 Vue.js 的关键概念和特性: 2.主要特性…

【LeetCode每日一题】——662.二叉树最大宽度

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 广度优先搜索 二【题目难度】 中等 三【题目编号】 662.二叉树最大宽度 四【题目描述】 给…

C#创建一个自定义控件类

如果你希望在 TextBox 内部嵌入一个按钮,并且这个按钮用于打开文件选择对话框,可以创建一个自定义控件来实现这一功能。下面是一个示例,展示如何在 Windows 窗体应用程序中创建一个自定义控件,其中 Button 嵌入到 TextBox 内部。 …

龙智Atlassian解决方案实践案例:集成Jira、Confluence、JSM,助力某汽车行业客户实现高效项目管理

客户简介 所属行业:汽车智能网联 用户数:约250人 使用产品/服务:Jira、Confluence、Jira Service Management (JSM) 解决方案提供商/合作伙伴:龙智 案例背景 该客户专注于车联网系统的研发&#xff0…