百度视频云音视频高级研发工程师——面经

1、先自我介绍

本想着上次的自我介绍很失败,这次得好好准备,所以就计划详详细细的介绍一下,结果还没说5分钟,就被打断了,极有可能我说的跟面试过想知道的——不搭边!  然后面试官直接说:我问你一些基础题吧。 ̄□ ̄||

2、基础题

1、指针和引用的区别?https://blog.csdn.net/l477918269/article/details/90233908

2、联合体union和结构体struct的区别?https://www.cnblogs.com/nktblog/p/4027107.html

union公用一块内存,大小为所有成员的最小公倍数。 struct 为每个对象单独开辟空间,且内存对齐。

3、H264内部是如何编码的?

4、有几种媒体封装格式?

TS、AVI、MKV、TP、MOV、M2T,mp4, flv, 等等吧。我看电影少,对音视频格式认识的少,但是该背还得背。

5、MP4的内部结构?

内容好多呀,自行搜索,然后去背诵吧。我是没有背诵下来,但是重点的结构还是要说出来的。

6、编解码流程?

采集到的流,需要进行解码,格式转换,再编码,再封装等,一系列流程。

7、计算机分几个存储空间?

c++在程序执行的时候将内存分为四个区:

1.代码区

存放函数体的二进制代码,由操作系统管理

包括你写的那些注释都在这

2.全局区

存放全局变量,静态变量,常量

常量:字符串常量

3.栈区

存放函数参数值和局部变量,由编译器自动分配和释放

4.堆区

由程序员分配和释放,如果程序员不释放,那么程序结束时将由操作系统回收

那么为什么要分为四个区呢?

因为不同区域存放的数据,具有不同生命周期,这大大地使我们编程更加灵活

8、webRTC的通信过程?

peer-a, 与 peer-b 如何建立通信的。这个还是可以对答如流的。

9、SDP的内容,共5部分。

10、opencv 用过哪些功能?

因为曾经做过这个开发,所以被问到了。

  1. opencv,做图像识别,主要是:标记图像,然后对图像进行滤波、二值化、边缘提取,根据标定,计算出像素与实际尺寸的距离,做出试件随着拉伸,变形的图。
  2. opencv,对写有汉字的图像,进行处理:扭曲、倾斜、波浪、添加噪点等,制作汉字图像库,用于TensorFlow训练识别汉字。
  3. opencv,处理视频:添加水印、剪裁、缩放、融合等。成品链接

11、OpenGL 是不是熟悉?

这个不熟悉,还没有接触过。可能视频、图像,都离不开OpenGL吧。好多音视频或图像开发的工作,都会提到熟悉OpenGL这个要求。

上机笔试

输入10个学生的学号和分数(或者直接插入也行),插入到链表中,然后按照分数,从小到大排序,并输出。

想了想,本来想着,先一个单链表,然后排序,写着写着程序,突然意识到,我可以插入的时候,就让它有序呀。机智!

cin可以连续从键盘读取想要的数据,以空格、tab或换行作为分隔符;

getline(cin, param)不会将结束符或者换行符残留在输入缓冲区中, 读取一行数据,这一行中,可以有空格, 要包含头文件string.h;

gets(),包含头文件stdio.h

// 直接写一个文件里了。
#include <iostream>
using namespace std;struct student
{int num;int score;
};struct Node
{student stu;Node *pNext;Node(const int num, const int score){stu.num = num;stu.score = score;pNext = nullptr;}
};class stuList
{
private:Node *m_head;
public:stuList(){ m_head = nullptr; }~stuList(){ deleteList(); }void insert(const int num, const int score){Node *n = new Node(num, score);if (m_head == nullptr){m_head = n;}else{Node *temp = m_head;if (temp->stu.score >= score ){n->pNext = m_head;m_head = n;}else{Node *pre = temp;while (temp && temp->stu.score < score){pre = temp;temp = temp->pNext;}if (!temp){pre->pNext = n;}else if (temp->stu.score >= score){pre->pNext = n;n->pNext = temp;}}}}void print(){Node *temp = m_head;while(temp){cout << "num : " << temp->stu.num << " , score : "<< temp->stu.score << endl;temp = temp->pNext;}}void deleteList(){Node *temp = m_head;while(temp){m_head = m_head->pNext;delete temp;temp = m_head;}m_head = nullptr;}
};int main()
{int num, score;int n = 10;stuList s;while(n > 0){cout << "请输入学号和分数 : " << endl;cin >> num;cin >> score;s.insert(num, score);--n;}
//  s.insert(1, 50);
//  s.insert(2, 40);
//  s.insert(3, 60);
//  s.insert(4, 70);s.print();system("pause");return 0;
}

满满当当的面试结束了。非常开心,因为最后的上机写完了,哈哈哈哈~

百度音视频面试——二面相关推荐

  1. 百度音视频面试——一面

    百度视频云音视频高级研发工程师--面经 自学音视频技术差不多1年,有点飘了.在bos s上挂了简历,有幸被百 度的HR看到.我跟HR说:我只能达到初/中级水平,达不到高级水平.HR说没事:投个简历吧. ...

  2. 音视频面试涨知识(二)

    1.YUV知识点 1.1 为什么要有YUV YUV的亮度信号Y和色度信号U/V是分离的,如果只有Y信号分量而没有U/V分量,这样的图像就是黑白灰度图像,从黑白到彩色的兼容方案. 相对RGB,YUV的最 ...

  3. Android 音视频开发(二):使用 AudioRecord 采集音频PCM并保存到文件(学习笔记)

    关于 AudioRecord Android SDK 提供了两套音频采集的API,分别是:MediaRecorder 和 AudioRecord,前者是一个更加上层一点的API,它可以直接把手机麦克风 ...

  4. Android 音视频开发(二) -- Camera1 实现预览、拍照功能

    音视频 系列文章 Android 音视频开发(一) – 使用AudioRecord 录制PCM(录音):AudioTrack播放音频 Android 音视频开发(二) – Camera1 实现预览.拍 ...

  5. 音视频面试涨知识(一)

    1 直播中为什么会出现花屏.黑屏.闪屏? 主播没有打开摄像头权限,推流端没有做好权限校验处理. 采集Camera数据,就要开始编码,如果编码失败,没有推送数据,那就会黑屏. 拉流段遇到不支持的视频格式 ...

  6. 音视频开发-音视频面试必问的直播延迟分析丨FFmpeg|SRS流媒体服务器|webrtc|Android NDK开发|HTTP-FLV|RTSP

    音视频面试必问的直播延迟分析 1.直播延迟500ms是极限吗,加上WebRTC能做到多少 2.推流的延迟分析 3.流媒体服务器延迟分析 4.拉流的延迟分析 视频讲解如下,点击观看: 音视频开发-音视频 ...

  7. 音视频面试必备:一文搞懂视频相关的基础概念

    1.引言 随着移动互联网的普及,实时音视频技术已经在越来越多的场景下发挥重要作用,已经不再局限于IM中的实时视频聊天.实时视频会议这种功能,在远程医疗.远程教育.智能家居等等场景也司空见惯. 虽然实时 ...

  8. vue.js项目实战运用篇之抖音视频APP-第二节:项目基础架构搭建

    [温馨提示]:若想了解更多关于本次项目实战内容,可转至vue.js项目实战运用篇之抖音视频APP-项目规划中进一步了解项目规划. [项目地址] 项目采用Git进行管理,最终项目将会发布到GitHub中 ...

  9. 音视频开发二:音视频知识总结

    文章目录 简介 简单理解,音视频原理 音视频理论基础 音频 声音介绍 **为什么要存在数字音频 ?** **什么是数字音频?** 从"模拟信号"到"数字化"的过 ...

最新文章

  1. mysql数据库入门教程(2):常见命令大全,语法规范
  2. 持续提高 Android 应用的安全性与性能
  3. 20145202马超《信息安全系统设计基础》实验四总结
  4. 2020下半年python二级考试时间_2020年下半年计算机等级考试报名通知
  5. Spring bean三种创建方式
  6. C++学习之路 | PTA乙级—— 1076 Wifi密码 (15 分)(精简)
  7. 漫谈图神经网络 (三)
  8. SwitchHosts!提示没有切换权限:C:\WINDOWS\system32\drivers\etc\host 文件无法修改
  9. android的自定义字体,Android 自定义字体方案
  10. solidity之以太币支付
  11. 51单片机学习总结(七)红外通信和DS18B20
  12. 导入jasperreports出现Cannot resolve com.lowagie:itext:2.1.7.js6异常、生成PDF中文不显示中文解决方法、使用命令安装jar包
  13. Android Notification中PendingIntent.Flag的应用
  14. Ruby on Rails 教程
  15. 【leetcode-字符串】:重复的子字符串(是否由它的一个子串重复多次构成)
  16. php截断,php include 路径截断漏洞的利用
  17. (修改完善)SpringBoot+Mybatis-Plus使用webSocket实现一对一聊天
  18. 极度快速的近似最近邻搜索算法(EFANNA)-学习笔记
  19. 红帽linux怎么截图,Linux上使用Ksnip截图
  20. PHP将处理图片为圆角

热门文章

  1. 【基于python的企业债务及业务重组风险评估分析管理系统-哔哩哔哩】 https://b23.tv/uYo8heq
  2. 1095. Cars on Campus (30)
  3. repo git 更新某个文件目录总结
  4. 用Python爬取股票数据,绘制K线和均线并用机器学习预测股价
  5. Kmeans原理公式图文详解
  6. 关于java使用double还是float
  7. android 播放 消息提示音 和 震动
  8. 在线创建GitHub资源下载链 单独下载某个文件夹
  9. [vue]插槽slot
  10. 《新一代SDN——VMware NSX 网络原理与实践》——2.4 与VMware NSX相关的认证