秋招:美团 系统安全
好像是做系统安全的部门,名称是后端。
- c程序内存分布:
- 数据段(data rodata bss)
- 代码段(text 部分可以直接编入的rodata)
- 堆(进程打开的文件描述符也在这)
- 栈
- 未初始化的全局变量在哪
bss
- static关键字
- 用于变量
- 生命周期和整个程序一样
- 只会初始化一次
- 全局变量:只有源文件可见(作用域)
- 用于函数
- 该文件可见(作用域 linux源码中非常常见)
- 指针常量和常量指针的区别
- 指针常量:指针是个常量不能改变
- 常量指针:指针指向常量,指针指向的值不能改变
-
如何理解C语言的指针
就是地址,类似于
ldr Rd,[Rn]
中Rn的作用 -
使用指针过程中的风险
- 溢出
- 悬空
- 野指针
- 空指针
- 泄露(new以后改变指针的指向后 new出来的内容无法被释放了)
- 什么情况下会使用void*来传递指针
- 类似于linux一些函数无法知道用户所需要的类型,就用void*回避类型检查
- 回调函数
- 接口
- 隐藏细节
- union结构体的作用
- 所有成员共用一段内存,方便切割使用
- 位域,节省内存
- 成员变量为啥要注意内存对齐
- 减少内存
- 速度快、提升性能
- 防止安全漏洞
- 如何避免头文件被重复包含?
define
- 进程间通信
- socket
- 管道
- 信号
- 消息队列
- 共享内存
- 共享内存是什么?
操作系统允许不同进程把同一块物理内存区域映射(map)到各自的虚拟地址空间。这样,不同进程对这块映射区域的读写实际上是对同一份物理内存的操作
13.dpdk是什么?
用于在用户态(User Space)实现高速、高吞吐的数据包处理、减少内核上下文切换带来的性能开销
- 两个进程之间要交换大量的数据,需要用什么套接字
- Unix套接字,在走本地
- 也可以用共享内存
15.用户态和内核态的通知
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式学习路线+面经详解合集 文章被收录于专栏
1. 自我介绍:高通、Oppo(sp)、vivo(sp)、小米(ssp)、荣耀(26k*12+80k)、华子(报批中)、美团、韶音、经纬恒润、乐鑫、中兴、TP 2. 内容: 1.嵌入式学习的资料和路径 2.所有面试的题目和解答(持续更新)、对评论的快速解答 3.各种碎碎念 3.整理不易,buy me coffee☕️,为了回馈牛客和各个粉丝,文章都会先试读几天,热度过了再收录~