当前位置: 首页 > news >正文

24-1-9 bilibilic++音视频

下午两点面试,面试官迟到了一会,面试官人很好,整体面试经历很不错,但是我人太紧张了,基础知识掌握的深度不够,没有深挖,

是做音视频的底层相关的,

实习要求只要每天打卡够九个小时就行

c++有哪些新特性

智能指针有哪些 

auto_ptr shared_ptr weak_ptr unique_ptr

shared_ptr大概怎么实现的 

有一个指针和一个引用计数的指针,每次拷贝和复制都会使引用计数加一,析构时减一,如果引用计数为零,那么就证明没人使用这块内存,可以成功析构。

shared_ptr可以实现一起读安全,但是一起写不安全

shared_ptr也会有内存泄漏,当两个类的对象里面都有shared_ptr指针,且两个对象互相引用,那么引用计数都不会下降

智能指针的作用是什么

防止内存泄漏

什么叫内存泄漏

就是因为失误导致的使用完某块内存之后,忘记释放掉,导致失去对它的控制。

lambda表达式

左值右值

右值引用的意义在哪  为什么右值引用可以有这个意义  是怎么实现的

右值引用其实就是在栈上在开辟一块空间用来放右值引用指向的值,然后再把地址传给右值引用的对象,相当于把原来的将要消失的对象寿命强行延长到试用结束

vector和数组的区别

vector可变大小,数组不行 vector是一段连续的内存

vector内部有一个size()和capacity() 

size()是已使用的大小,capacity()是最大容量

每次都是加倍扩容

resize()是变size的大小,如果resize(len)len>capacity  那么size和capacity都等于len

reserve是变capacity的大小 如果len<capacity则什么也不变 否则capacity变为len

list指向的是一块块不连续的空间     环状的双向链表

插入和删除元素很方便

deque

deque是一个双端开口的线性连续空间,其内部为分段连续的空间组成,随时可以加一段新的空间并链接(deque的迭代器比vector复杂,所以尽量使用vector,为了提高效率,可以在对deque排序的时候把deque复制到vector中进行排序最后再复制回deque)

deque是由一段一段的定量连续空间组成的,一旦有必要在其头部或者尾部增加字段,就配置一段定量连续空间,串接在deque的头或者尾

好处:避免和vector一样扩容时申请空间,复制,释放原空间,维护着整体连续的假象,并提供随机访问的接口

坏处:迭代器很复杂

一个map存放指针,每个指针都指向一片线性连续空间,成为缓存区

stack&queue

底层以deque为架构

heap

priority_queue

无迭代器

map&&set

共同的:都是C++的关联容器  通过提供的接口对里面的元素进行访问,底层都是红黑树

不同的:  set是判断一个元素是否在里面,map是映射,把一个值映射成另一个值(字典)

查找一个树:O(logn)

缺点:插入数值时,需要调整红黑树

map&&unordered map

底层:map基于红黑树,元素的排列是有序的

        unordered_map基于哈希表,元素的排列顺序时杂乱无序的

map:优:有序性,增删改查都是logn 但是缺点也是增删改查为logn

unordered_map 优点:增删查 时间复杂度为O(1) 

     缺点:内部基于哈希表,以(key,value)形式储存,空间占用率高

             增删改时间复杂度不稳定平均为O(1),取决于哈希函数

UDP/TCP

udp和TCP的区别在哪,

tcp怎么实现的稳定链接(主要ACK)

能不能用udp构建tcp连接

http1.0 1.1 2.0区别在哪

H264结构是什么

gop的作用

SPS PPS ESI

STL几个组件

fw啊   小吴,答得一坨

http://www.lryc.cn/news/281075.html

相关文章:

  • 备案(三)
  • Hotspot源码解析-第十九章-ClassLoaderData、符号表、字符串表的初始化
  • impala元数据自动刷新
  • 骑砍战团MOD开发(35)-射击精度系统
  • 树莓派非常实用的程序-3 vcdbg
  • jmeter分布式服务搭建
  • vue中el-radio无法默认选中
  • 分布式I/O应用于智慧停车场的方案介绍
  • node后端+vue前端实现接口请求时携带authorization验证
  • SourceTree管理git
  • 【数模百科】一篇文章讲清楚灰色预测模型GM(1,1)附python代码
  • openssl3.2 - 官方demo学习 - mac - hmac-sha512.c
  • pycharm的使用技巧
  • 如何通过内网穿透实现公网访问Portainer管理监控Docker容器
  • Redis原理篇(Dict的收缩扩容机制和渐进式rehash)
  • Microsoft Remote Desktop for Mac 中文正式版下载 微软远程连接软件
  • 解读Vue的原型及原型链
  • 拓扑排序(优先队列)queue、C++
  • 【Spring】SpringBoot 统一功能处理
  • 拦截器HandlerInterceptor | springmvc系列
  • 【SQL server】DML触发器监控数据库字段值改变
  • Docker容器(二)安装与初体验wordpress
  • Odrive 学习系列二:将烧录工具从ST-Link V2修改为JLink
  • ffmpeg api-codec-param-test.c源码讲解
  • Hive学习(14)json解析get_json_object()函数
  • sqlilabs第五十五五十六关
  • Vue2 实现带输入的动态表格,限制el-input输入位数以及输入规则(负数、小数、整数)
  • 反爬虫策略:使用FastAPI限制接口访问速率
  • 响应式编程初探-自定义实现Reactive Streams规范
  • 如何使用LightPicture+cpolar搭建个人云图床随时随地公网访问