硬核 | 50 家企业 C++ 面经分享
昨天一位读者分享了自己的 C++ 面试经历。简单沟通后,读者双非本硕,自嘲校招准备注定就是炼狱模式。50 家公司的 C++ 面经也整理好了。本次就分享下面经。以后分享学习路线和心得。
读者情况:双非本硕,本科机械,硕士做的软件开发课题。
学过 C++ 偏基础,但是面试前连多态都不会写。研三经历炼狱校招,从零开始学习,数据结构和算法也是从零开始。
时间:2020 年 10 月- 2021 年 4 月
结果:几乎面试了所有大厂,收到了 13 份 offer。虽然没有进大厂,但是拿到音视频开发 offer,音视频开发是理想岗位,待遇也比较满意。
1.六方云(10-21)
自我介绍 C++ 语法 左值引用与右值引用有什么区别,左值引用和右值引用的目的是什么 虚函数问了好多 什么是多态 虚函数和纯虚函数 构造函数和析构函数能不能是虚函数 std::move 是什么 计算机网络 TCP/IP 的连接和断开过程 timewait 是什么 I/O 多路复用是什么 http 接口的函数用过吗 操作系统 什么是线程、进程 多线程和多进程的优缺点 项目 Qt信号与槽实现的机制 项目用的多线程是怎么实现的 怎么实现通信
2.万集集团(10-22)
自我介绍 项目:有做过嵌入式项目吗 总结:应该是 KPI,他想找做嵌入式的多点
3.医科达——电话面(10-23)
自我介绍 项目 多线程 网络编程:连接方式 算法:快速排序 面向对象三大思想 设计模式,列举一个 单例模式怎么处理多线程
4.联影——电话面(10-24)
自我介绍 项目介绍 说说项目的原理 面向对象 设计模式 非智力问题: 怎么抗压 怎么处理队员之间的问题
5.万兴科技(10-24)
自我介绍 看过哪些 C++ 的书 多线程,怎么判断线程结束 vector 中迭代器失效的情况 虚析构函数 FFmpeg 中对视频和音频的同步方法 map 的内部 rtmp 协议
6.网易实习
一面(10-28)(PASS1)
引用和指针的区别 静态链接库与动态链接库的区别 程序生成的过程 计算机图形学: 怎么对图像进行变换,变换矩阵是什么 还有其他简单的 OpenGL 问题 其他忘了,,,,
二面(11-2)
怎么自己实现 Qt 的信号与槽? 多态 TCP 和 UDP 的区别 计算机图像学 什么是插值? 会做数据可视化吗? 其他忘了,面试官脾气不是很好,,
7.中望软件(10-31)(PASS2)
聊一下项目 CAD 软件怎么使用 会不会 QT、MFC、STL 介绍中望公司的情况
(终于拿到第一份 offer!)
8.金山 WPS
电话一面(11-2)(PASS3)
假如定义了一个指针,后面接着一个循环并 return,会造成什么后果?(内存泄漏) 其他忘了(没有问项目)
电话二面(11-5)
知不知道 Qt5 对 OpenGL 有个支持性问题 音视频切换的多线程怎么处理帧切换的问题 大数据处理题:建立一个数据结构,存储 1 到 10 亿的数,要能够去重和插入(答案:用两个数组,建立二维表格) 找出一个 RGB 文件中出现最多的前十种颜色
9.传音控股电话面(11-7)
直接问项目的 OpenGL 怎么绘制视频,结果回答不好被嫌弃了; 死锁怎么产生的?有没有遇到过死锁问题?(多线程不是一般般的重要!)
10.网易互娱乐(11-12)
先做算法题:找出数组中次数最多的前 k 个数 说下 C++ 新特性 auto变量的使用注意事项 OpenGL 的着色器在每个渲染步骤是怎样的? 设计模式、单例模式的线程安全问题
11.斗鱼直播(11-12)
qt 的消息传递机制 HTTP 网络协议好多内容 怎么实现 map 的(key 是自定义类型) 单例模式 还有好多问题,几乎把计算机基础的难点都问了
12.富士康电话面(11-13)(PASS4)
做富士康的工业互联网。看简历,没问技术基础。给了 offer,但是只有 7K,其他补贴加起来只有 10K,难怪没人去
13.卡莱特电话面(11-17)(PASS5)
1.C 和 C++ 的区别 2.栈和堆的区别 3.双链表和单链表的优缺点 4.面向对象三大特性:封装、继承、多态,继承的作用是什么 5.了解 Qt 和 MFC 吗 6.工作地点 7.对薪资有什么要求
14.联想面试(11-27)
C++ 和 java 的区别 描述 STL;vector 和 list 的区别 最近的项目——视频播放器设计 vector 存放数据的注意 视频与音频同步 多线程同步 设计模式、工厂模式 文件断点续传 用英语简单描述自己的项目
15.新浪微博(12-1)
OOP 三大特性、继承中三个修饰符的用法 C++ 的 static 关键字 TCP 连接过程中客户端与服务端使用什么函数实现连接 智能指针,weak_ptr 能够破坏环型引用的原理(引用计数的原理) 用两个栈实现一个队列
(秃头架构师面试,态度很好,叫我不要紧张。我印象深刻的一场面试之一)
16.广和通电话面(12-1)(PASS6)
聊一下项目 说下项目解决过程你有没有请教别人 说下最难忘的项目经历
17.汇川技术
一面(12-1)(PASS7)
项目简介 STL、vector QML 与 QWidget 的区别 (QML 从 2.0 版本开始向移动端靠拢) 信号与槽机制、信号与槽与函数指针的比较 多线程下用信号与槽的优缺点 (connect函数的第五个参数实际上是用在多线程的情况下的) socket 的 TCP 的客户端与服务端 怎么保证客户端与服务端在突然断网的情况下保证另一端知道?(饱和机制、心跳机制、看门狗机制) 说说你的项目的亮点 auto 关键字 (不能定义数组) Qt 的事件过滤器 (事件的传递是由子类往父类上传的) 开放性问题:大量数据无序输入,怎么有序输出?(使用最大堆最小堆) (一面的面试官是个态度很好的年轻小哥)
汇川技术二面(12-4)(PASS8)
介绍项目组成 - 滤波器的类型 - 怎么确定使用什么滤波算法 比赛过程中的团队合作事情 数学建模比赛的收获 上学期间最有成就感的事情 Linux 中的互斥锁和 XX 锁 简述 STL 常用的排序算法 以太网了解吗? 网络编程 职业规划 家庭背景
18.声网测试(12-2)
介绍音视频测评岗位的工作内容 用的什么协议 视频播放器、直播推流协议 文件传输、视频协议相关工作 讲解下用了音视频库的什么模块
19.不知名的公司的音视频开发岗(12-4)
做两道编程题: 快速排序(函数参数只有 int array,int length) 用两个线程实现循环加数 深拷贝与浅拷贝区别 C++ OOP 三大特性 多态的用法 项目:视频播放器用到 FFmpeg 哪些库 H264 编解码原理 运动补偿 熵编码 ALCode 视频解析工具的使用 直播工具使用了什么服务器
(地点在武汉,印象最深的一场面试,面试官很友好,给我讲了半小时的音视频岗位的优势。从此便决定了一定要做音视频开发)
20.腾讯会议客户端(12-4)
项目——视频播放器的功能 视频中的视频信息、音频信息的数据怎么存放 课题中的难点 C++ 智能指针 shared_ptr 的特殊用法 C++ 内存管理 Windows 系统怎么预防死锁 怎么解决程序 crashed 问题 对音视频编码的了解 有几种 NAL,如果在视频中存放信息存放在哪个帧 怎么设置压缩码率?
21.恒生电子
一面(12-9)(PASS9)
C++11 什么新特性好用 多线程 用队列处理数据有什么好处? 用过什么数据库? 多线程与多进程的区别? 你认为你的优缺点是什么?
二面(12-10)
没问技术问题,只问背景问题。应该是 KPI
22.新思科技
一面(12-14)(PASS10)
static 在 C 和 C++ 的用法 virtual 与析构函数 Linux 中用什么命令查找文件 在项目中使用过多态吗 用英文介绍自己的爱好
二面(12-18)
项目 功能 代码量 花多长时间 STL 怎么解决哈希冲突 长二进制反转 virtual 析构函数 写一个多态,展示内存泄漏
23.浩鲸科技(12-15)
操作系统:消息队列、进程消息 strcpy 和 memcpy 的区别 多态具体怎么定义 指针、引用怎么在多态里面用的
24.映客直播
一面(12-17)(PASS11)
学过什么课程 指针和引用的区别 局部 变量与全局变量 内存的分类 OOP 三大特性 Linux 常用命令 简单聊聊直播推流工具 边下边播用什么协议 数据库的事务 进程和线程、进程的通信方式、线程的安全问题 TCP 和 UDP 的区别 HTTP 的返回码 怎么用两个栈实现一个队列 怎么获取二叉树的高度
二面(12-22)
除了 C++,学过其他语言吗 MP4 包含了什么协议 抖音、直播分别用什么协议 TS 流有什么内容 怎么传递视频信息 怎么解决视频卡顿问题 内存泄漏怎么排查 安卓的生命周期 设计模式有哪几种?单例模式有几种创建方式? Linux 的常用命令 用过 shell 吗 怎么通过 shell 获取 MD5 码? Linux 获取字符串的方式? 建议:多了解前沿的流媒体格式!
25.百富计算机(12-22)(PASS12)
多进程多线程用过吗? Linux 命令了解吗? FFmpeg 编译过吗? 音视频解码过程的格式 视频播放器开发的过程 OpenGL 使用的过程 顶点着色器与片元着色器的不同 VBO、FBO 画面闪烁是什么原因造成
26.埃森哲面试(12-24)
群面,3 个候选人 1 个面试官 公司介绍:世界 500 强 咨询公司 外企 遇到难题以及解决方法 在实习、项目中,怎么处理不属于自己工作范围内的工作 职业方向规划?技术专家还是项目管理
27.孩子王
一面(12-29)(PASS12)
C++ 有几种构造函数 STL 的迭代器失效,怎么解决 C++ 与其他语言的区别?(指针、回收) 智能指针的用法 智能指针的使用场景:连接数据库 STL 是复制性还是侵入性 红黑树比AVL的优势,为何用红黑树 红黑树的高度 数据库的锁、事务、引擎 场景题: 用户的余额显示、余额减少等,要不要用事务? 用户系统,有用户ID。加入有手机号注册,怎么验证是否注册 用户扩大时,怎么扩容? I/O 多路复用的理解 动态规划与贪心算法的区别(背包问题分析)
二面(1-8)
多线程的使用场景 多线程的锁 数据库为何用 SQLite 进程间的数据共享 怎么实现音视频同步 多线程和多进程的区别 Linux 常用命令? 岗位必备技能是:C++ 基础、网络、数据库。是电商中台
28.富途证券后台开发(1-4)
先做几道题 说说从浏览器输入网站用到的协议 auto addr = (type) malloc(size); memcpy(addr,"apple");
操作系统满的时候会发生什么?MySQL 加快查询的方式
29.CETV(1-5)
Qt 信号与槽的机制 为什么 new QWidget 不需要 delete vector 的内部机制 编译过程 虚函数表原理,虚表编译的过程 new 和 malloc 的区别 智能指针内部原理 多线程 TCP、UDP 的区别 TCP 怎么保证可靠传输 在一个局域网中怎么连接两台电脑? 平时怎么学 C++
30.商汤科技(1-6)
简单介绍项目—— vector 怎么 clear TCP 粘包、丢包 进程的通信 内存泄漏 智能指针 Qt 实现多线程 QSS 属于第几个版本 视频播放器怎么音视频同步 设计模式 举例工程模式 Qt 的 TableWidget 和 Table View 的区别 做题 多态的选择题 手写 Rational 类(包括<< >>重载)
31.科曼医疗(1-7)(PASS13)
介绍硕士课题项目 Qt 自定义控件方法 视频播放器 Qt 多国语言 QSS 主题样式 设计模式 工厂模式的应用场景 设计模式的优缺点 信号与槽、和事件的区别 视频与音频怎么同步 介绍公司的研发方向: 应用软件开发 下位机驱动开发 单片机 Windows 服务器开发
32.思谋科技(1-11)
多态及其用处 静态多态包含什么类型 纯虚函数 虚析构函数 重载与重写的区别 extern "C"{} const 的作用 指针和引用的区别 C++11 新特性 右值引用 STL 哈希 强制类型转换 Qt 的优点、缺点 Qt 的核心机制 Qt Graph 信号与槽的优点和缺点是什么 Qt connect 函数的连接方式 TCP 三次握手的过程 手写代码:自定义 String 类(真的要每天都复习八股文)
33.华阳国际设计(1-20)(PASS14)
实习的时候做什么工作 指针和引用的区别 空指针、悬垂指针 TCP 的三次握手 部门分工: 图形引擎(C#) 平台开发(java、C++) 建模(C++、OpenGL)
34.中软国际(外包公司)
一面(1-25)(PASS15)
多态、虚析构函数 强制类型转换 类能否嵌套 vector 改变容量时要注意什么 对象移动 unique_ptr 智能指针 C++11 多线程 lock_guard 怎么自动处理的 多线程怎么发送信号 线程怎么退出 GDB 怎么调试段错误,怎么查看栈 Linux 怎么处理 core 文件 Git 用过吗?
二面(1-28)(PASS16)
多态的定义 代码的处理过程、汇编的作用 new 和 malloc 的区别 内存的分类 STL vector 的用法 项目中是怎么用的 Linux 用过什么指令 项目都是自己做的? Qt 多线程用什么函数 计网用过什么协议 智能指针 快速排序的思路 MFC 用过吗 设计模式、单例模式 场景题:找出前 K 个最大元素的值(最大堆、最小堆的用法)
三面(1-28)——经典好问题,必须好好分析(PASS17)
写代码:找出数组中数量超过一半的元素
C++的 sort 函数是怎么实现的?int GetNum(int *array,int length) {
unordered_map<int,int> mp;
for(int i = 0;i-1;++i){
++mp[array[i]];
}
for(int i = 0;i-1;++i){
if(mp[array[i]] > length / 2){
return array[i];
}
}
return -1;//没有的话返回-1
//加入数据很大怎么办?——先排序
sort(array);//sort的原理是什么
return(array[length / 2]);音视频:YUV 格式与 RGB 格式的区别 怎么实现一个服务端连接多个客户端? auto 的类型判断发生在什么阶段(编译期) 如果是在运行期的话会发生什么问题 多态的分类 类型转换 智能指针 锁的类型,自旋锁的原理 GDB 的常用命令 内存的分类 一个栈多大?
35.中国电子系统(1-26)
实习的时候做的项目,举例做过的工作 做的软件项目的流程 单例模式的实现方法 观察者模式 哈希表的原理以及作用、怎么查找值 计网 七层模型 IP 协议 三次握手和四次挥手 为什么要进行四次挥手 线程和进程 从 CPU 的角度区别线程和进程 快速排序的思路、复杂度 FFmpeg
36.乐鑫嵌入式(1-27)
介绍视频播放器 介绍研究生课题 代码题:十进制字符串转十六进制字符串 选几个关键字描述自己 你的优点和缺点 你期望的工作
(应该是KPI)
37.中元汇吉(1-27)(PASS18)
OOP 特性、虚函数 内存泄漏、智能指针 STL 学过什么数据结构、举例二叉树的用法 QT 信号与槽 原理 优势 自定义结构体到信号与槽要注意什么 工厂模式、单例模式原理和用法 锁要注意什么 GDB 用过吗 项目中要怎么调试代码 MySQL 索引是什么 了解软件架构吗?MVC 模式了解吗? 怎么使用软件设计思维?是正向还是逆向?
38.Insta360(1-28)(PASS19)
视频播放器 YUV 是怎么传递到 OpenGL 的 AVFrame Parma 的意思 YUV 有很多采样格式,你采用什么采样格式 STL vector 和 list 的区别 map 与 unordered_map 的区别(考虑到有序与否的区别、哈希函数) C++11 的 inplace_push_back 与 push_back 的区别 unique_ptr 与 shared_ptr 的区别 lambda 表达式、怎么捕获外部变量 virtual 析构函数 多继承的问题 多线程与多进程的区别 内存 地址空间 多进程的锁 自旋锁原理 怎么避免死锁 socket 阻塞和非阻塞的区别 TCP 中间连接的时候断开会发生什么(重传、超时、等待状态、TCP 可靠连接原理) 进程内部的栈内存、堆内存、各自的增长方式 双链表怎么查找倒数第二个结点 OpenGL 常见的坐标系的变换顺序
39.wind金融(2-3)
第 1 个面试官 写过多少行代码 C++ 怎么申请连续的内存 vector 怎么用 C++ 的垃圾回收机制 工程模式是什么,3 种工工厂模式的区别 排序算法有哪些,哪些的复杂度是稳定不变的 多线程 自旋锁是什么 数据库用过吗 第 2 个面试官 音视频怎么同步 展示同步的代码 视频播放器 展示平衡功能项目 多线程怎么同步 GDB 怎么调试 vector 是不是线程安全的,怎么写个线程安全的 vector 数据库怎么 sip C++11 的新特性 指针和引用的区别
40.CVTE
一面(2-22)(PASS20)
二面(2-23)
41.腾讯企业微信客户端(2-26)
一面(2-26)(PASS21)
1 小时内做 3 到算法题 反转单链表 找出数组中最小的K个数 长整数相加 讲解题目(做的不好,分析复杂度) 描述 Qt 的消息传递机制 Windows 消息机制有哪些 做题 区别 const 指针与 const 变量 引用的用法(左值引用与右值引用、引用不能改变绑定对象) 多态的用法
二面(3-5)(PASS22)
信号与槽的底层原理;信号与槽怎么做到性能优化 哈希表与红黑树的对比:结构、查找 Q t的多线程的信号与槽 虚函数表原理 构造函数调用虚函数可以吗?会发生什么? YUV 与 RGB 的区别 音视频同步的方法 数据库有几种范式 HTTP 的底层模型用什么实现(TCP) 网络的七层模型,作用、传输单位分别是什么 TCP 的三次握手 写一个快排;能否用非递归方式实现;什么时候复杂度最大?
三面(3-11)(PASS23)
继承、多态的定义 听过多用组合,少用继承吗 Qt 的信号与槽原理,怎么了解这个原理的? 进程、线程的区别,对 OS 而言有什么目的 对 I、B、P 帧的了解、MOOV 的格式了解 音视频的了解 PTS、DTS的区别 YUV 与 RGB 的区别 音视频同步的方法 讲下视频播放器 流程 怎么使用多线程 能否用一个线程实现 考虑功能扩展吗 毕业课题 如何采集、滤波、处理 考虑数据采集中断的情况吗 考虑 C/S 模式吗 实习 文件传输是怎么实现的 做过什么工作 平时怎么学习
四面(3-11)
给出一个二维 vector 表示点到原点的距离。一个五个点,5X5 的二维 vector。求从原点出发,再回到原点的最短路径,要求必须打印输出结果 (条件概率)已知城市中蓝色:绿色车的比例是 15:85,目击者称看到蓝色车肇事逃逸,但是人区别蓝色和绿色的正确率是 80%。求真的是蓝色车肇事逃逸的概率
(三面、四面在同一天进行。据说有的人腾讯面了六面。我止步于吃已经很满足。代码确实不会写)
42.万兴科技
一面(3-2)(PASS23)
Qt、C++ 分别用过多久? 代码量多少 比赛中你负责什么角色 OpenGL 了解的深度、在 QT 中的用法 FFmpeg 的了解 Qt 用过多线程、网络吗 Qt 3D 了解吗 实习过程中学会什么 C++11 新特性;解释右值引用是为了解决什么问题?(移动语义) 浅拷贝和深拷贝的区别 OOP 设计原则 博客有多少篇 喜欢看什么书
HR面(3-5)(PASS)
综合面(3-9)
对 FFmpeg 的使用 对音视频的了解 对 C++ 的了解 用过 C++ 的闭包吗? OpenGL 的了解 其他 offer 对公司文化的了解 你目前的学习方式是什么?
43.元戎启行
一面(3-10)(PASS24)
介绍一些康复器械项目 C++11 的新特性 lambda 表达式 多线程共享内容问题,共享对象存放在哪个空间 进程与线程 多进程、多线程 多进程通信的方式,有几种信号 OSI 七层模型 TCP 与 UDP 的区别 TCP 拥塞控制 要了解 MySQL 红黑树的定义 手撕代码:把有序链表转为平衡二叉树 怎么遍历结点 复杂度 优化遍历方式
二面(3-15)
虚函数 虚函数是类的定义出现还是对象的时候出现 纯虚函数 钻石继承为何不能出现 智能指针 环型引用 shared_ptr 的引用计数原理 多线程的原子类型 auto 关键字能给数组赋值,但是不能定义 用过 Qt 的什么模块
44.VIVO
一面(3-12)(PASS25)
讲一下对 OOP 的理解 讲一下单例模式 多线程的单例模式 锁 互斥量为何能够用在多线程 数据库 表是否一定要有主键 主键与唯一索引的区别 left join ,right join,full join 怎么建立索引 索引怎么优化
HR面(3-19)
介绍家庭情况 对 IT 工程师的理解 实现过程的收获 举例压力大的实例,压力大的时候怎么解决 收了什么 offer,为什么拒了 你认为手机会怎么发展 举例说明你说服别人接收自己观点的一个例子
45.富途Windows客户端开发
一面(3-16)(PASS26)
虚表是怎么使用的?虚表指针存放在哪里? 构造函数能否为 virtual,能否调用虚函数? coding:两数之和,非有序 coding:LeetCode61 ——给定链表,按照某个规定旋转链表 逻辑题:有 10 箱金子,,,,,, 网络: TCP 与 UDP 的区别 TCP的窗口拥塞控制 OS:怎么避免死锁?
二面(3-19)(PASS27)
下面是有一个全局变量 a 和两个线程,这两个线程同时开始并发执行各自的代码, 在两个线程都执行结束后,请问 a 的值为______ static int a = 0
;
线程1: for(int i=0; i<10;i++) a = a + 1;
线程2: for(int i=0; i<10;i++) a = a + 1;
已知公司 OA 数据库有一个员工信息表,包含员工 ID,员工姓名,入职时间,和离职时间。财务审核时发现 201803 到 201808 这 6 个月,当时所有在职员工都少发了工资,现在老板需要了解有多少人受影响需要获得补偿。请写出查询语句。
select ID where entryTime > 20180301 and leaveTime < 20180831
select ID where entryTime < 20180301 and leaveTime > 20180831
实验室有 100 个瓶子,其中有一瓶装有慢性毒药(第 3 天发作),另外 99 瓶装有蒸馏水。请问至少需要多少只小白鼠才能在3天内找出哪一瓶是慢性毒药?_______只
4.找出出现频率最高的前 K 个数,或者从海量数据中找出最大的前 K 个数
5.实现排序二叉树的插入方法
tyedef struct node {
int data;
struct node* left;
struct node* right;
}*BiTree;
void insertBST(BiTree& bt, int data)
{
if (!bt)
{
BiTree ins = new Node;
ins->data = data;
ins->left = ins->right = nullptr;
bt = ins;
}
else if (bt->data > data)
insertBST(bt->left, data);
else
insertBST(bt->right, data);
}
综合面(3-23)
对公司的了解 最近的 offer?为何不要? 家庭成员、是否单身 用三个词形容自己 参加过的社团 为何选择医学信息工程 择业因素 兴趣爱好 学习方式 自身的优势 怎么完成学校到公司的过渡?
46.美的
一面(3-17)(PASS28)
OOP 三大特点 STL 常用容器 栈与堆的区别 new 和 malloc 的区别 指针和引用的区别 sizeof 的区别 自增的区别 内存上绑定的区别 工厂方法模式 TCP 三次握手 内存泄漏是什么意思 数据库 事务的定义、4 个特性 脏读、幻读 索引(数据结构、优缺点) 锁的作用 Linux 在文本中快速查找内容 找出进程的P ID (PS) 如何查看 OS 的大小(free) 工作问题 举例说明遇到的难题以及解决方法 列举工作上的过程 说服别人接收你的观点的例子 团队合作的例子
二面(3-17)(PASS28)
你的专业是做什么的? 做过窗口的信号共享吗? 项目的滤波算法是什么? 音视频项目的难题是什么? 你的项目来源是哪里? 遇到过程序崩溃的情况吗? TCP 的连接、释放过程 time_wait 状态分别是什么? 分别发生在客户端和服务端的什么阶段?
(终于拿到所谓大厂 offer。但是是 IT 部门,不是研发部门,在佛山。所以拒了)
47.科大讯飞(3-23)
介绍康复训练系统 vector 如何处理数据 数据库 视频播放器 缓冲机制 OpenCV 平滑操作 是否用过 MySQL 生产者消费者模式 用过 socket 的 I/O 模型吗? 多线程的用法 主线程 次线程 线程池 怎么操作文件系统 new 和 malloc 的区别
48.多益网络(3-24)(PASS)
介绍项目、视频播放器 FFmpeg 怎么用的 视频文件是什么格式,怎么存放的 怎么设计视频播放器的暂停?后端是怎么处理的?进度条怎么显示的? 多线程怎么用的? 指针和引用的区别?在传递参数上有什么区别? 函数未定义时会怎么样? 怎么删除双向链表? 快排的思路 堆是不是二叉树 写代码:用 C++ 实现全排列 工作问题:如何看待加班?
49.冰川网络(4-2)
硕士毕业课题
多线程 怎么切换线程 如何共享数据 C/S 模式是如何处理的? 用 TCP 怎么传递消息? TCP 与 UDP
为何 TCP 没有 UDP 快 用 UDP 怎么实现可靠的传输? 算法问题:网格中有 2 个点,怎么找到从 A 到 B 的最短路径?(用广度优先搜索)
数据库:为何索引的数据结构用 B-tree?
(因为数据库主要消耗在磁盘 I/O 上,所以要优化磁盘 I/O ,如果用红黑树,树的深度太高,消耗磁盘 I/O 太多,速度会太慢)
50.英特尔现场面(4-12)
做一份笔试,问的比较细节,操作系统比较重要,几个 C语言的关键字没用过 三个面试官轮流进来房间面试,一个面试官问半小时。问的技术问题不多,主要问项目细节。 其中一个面试官的一个问题用英语问,要求用英语回答并讨论。这个面试官告诉我好多面对项目的态度和看法,要发散思维,考虑用户体验。
(最后一家面试以英特尔结束,算是完美结束了。反正不留上海,不过就不过了)
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ END ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ 关注我的微信公众号,回复“加群”按规则加入技术交流群。
点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看。