| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 牛客网嵌入式开发面试集合(更新中....) -> 正文阅读 |
|
[网络协议]牛客网嵌入式开发面试集合(更新中....) |
1. CVTE 嵌入式软件开发 一面面经 8.13(1h20m)1.1 Socket中UDP/TCP相关的封装函数
1.2 三次握手和四次挥手1.3 malloc和new的区别1.4 宏定义在什么阶段处理宏定义是在预编译阶段展开的 1.5 全局变量、局部变量、静态变量存储在什么地方?局部变量只在其所处的函数体中有效,因此存放在栈区。 全局变量在整个程序生命周期内都有用,因此存放在静态数据区。 静态变量与全局变量一样存放在静态数据区。 1.6 UDP/TCP区别2. 联发科武汉嵌入式软件开发一二三面面经2.1 什么是系统调用以下内容来自维基百科: 在电脑中,系统调用(英语:system call),指运行在用户空间的程序向操作系统内核请求需要更高权限运行的服务。系统调用提供用户程序与操作系统之间的接口。大多数系统交互式操作需求在内核态运行。如设备IO操作或者进程间通信。 linux在x86上的系统调用过程如下:
2.2 虚拟内存,32位机虚拟内存分布,虚拟内存怎么到物理内存(MMU)linux内存分布杂论–(32位虚拟内存分布,高端内存; 64位虚拟内存分布,寻址方式) 2.3 为什么C++可以函数重载,C不行2.4 文件系统相关没有具体那个问题,楼主不会,面试官跳过了 3. 华为优招 消费者BG终端芯片-嵌入式面经3.1 堆和栈的区别,各自用在什么地方3.2 进程和线程有什么区别总结一下:
3.3 相同进程的多个线程可以共享什么资源共享的资源:
独享的资源:
3.4 多进程或多线程同步可能会造成什么问题以下是我的答案(可能不完善,有补充可以留言区指出):
3.5 死锁和优先级反转,分别说下是如何造成的?Linux同步机制 - 基本概念(死锁,活锁,饿死,优先级反转,护航现象) 3.6 中断和信号量的区别和各自的底层实现原理网上没搜到合适的答案,自己总结一下: 中断是由外部中断源或者内部中断信号引发的,中断触发后,CPU会自动的到中断向量表中查询中断服务函数的地址,然后保存现场,执行中断处理函数,完成后恢复现场继续原来的工作。 信号量用于保证资源的安全使用,在一个线程或进程使用一个互斥资源时,信号量就会减一,当信号量值小与0时,请求信号量的进程或线程要被阻塞直到其他进程(线程)释放了该互斥资源。 3.7 中断向量表一般放在哪里,它有什么用?当计算机刚启动时,首先会启动引导程序(BIOS),在BIOS中会把中断向量表存放在内存开始位置(0x00000000)。BIOS会有自己的一些默认中断处理函数,而当BIOS处理完后,会将计算机控制器转交给linux,而linux会在使用BIOS的中断向量表的同时重新设置新的中断向量表(新的地址保存在配置中的CONFIG_VECTORS_BASE),之后会完全使用新的中断向量表。 3.8 segmentation fault的原因是什么?对应的中断向量表的哪一个异常向量?造成segment fault,产生core dump的可能原因! 总的来说就是访问了不该访问了内存地址,例如写一块只有读权限的内存。 段错误对应的异常向量网上没找到。。。 3.9 什么情况下会栈溢出?如何避免?传递的参数太大,或者无限制的递归也可能导致栈溢出。 要避免传递大实参,改用指针,递归要设置出口。 3.10 操作系统有哪几种锁4. 诺瓦-嵌入式一、二面经4.1 C语言数组、链表、数组指针与指针数组、声明与定义主要说一下数组指针与指针数组: 数组指针表示的是指向数组的指针,对于一维数组 指针数组表示一个元素都是指针的数组,例如 4.2 结构体内存对齐这个主要是为了CPU处理的效率提出的,意思是对于32位的处理器,如果结构体中有一个字符和整型变量,那么这个字符就需要4字节对齐,即该结构体大小为8字节。 4.3 野指针与内存泄漏野指针通常指那些为初始化的指针或者经过free操作后的指针,这些指针通常都指向无效内存,如果使用可能会造成非法访问,内存泄漏。 4.4 判断链表是否有环,去除链表重复元素可以试着做一下leetcode的相关题目: 4.5 递归的使用注意这个我感觉主要有两点:
4.6 Uboot如何向内核传参4.7 Uboot启动流程和作用4.8 socket编程细节见 1.1 4.9 TCP稳定传输保证主要是考三次握手和四次挥手,见1.2 4.10 IIC为什么上拉电阻时间线 2021/8/20:16/30 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:42:00- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |