c++岗位招聘「舰C企业」
今天给大家普及一下c++岗位招聘「舰C企业」相关知识,最近很多在问c++岗位招聘「舰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)引用和指针的区别静态链接库与动态链接库的区别程序生成的过程计算机图形学: 怎么对图像进行变换,变换矩阵是什么还有其他简单的 OpenGL 问题其他忘了,,,,二面(11-2)怎么自己实现 Qt 的信号与槽?多态TCP 和 UDP 的区别计算机图像学 什么是插值?会做数据可视化吗?其他忘了,面试官脾气不是很好,,7.中望软件(10-31)聊一下项目CAD 软件怎么使用会不会 QT、MFC、STL介绍中望公司的情况(终于拿到第一份 offer!)
8.金山 WPS电话一面(11-2)假如定义了一个指针,后面接着一个循环并 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,value> 的(key 是自定义类型)单例模式还有好多问题,几乎把计算机基础的难点都问了12.富士康电话面(11-13)做富士康的工业互联网。看简历,没问技术基础。 给了 offer,但是只有 7K,其他补贴加起来只有 10K,难怪没人去
13.卡莱特电话面(11-17)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)聊一下项目说下项目解决过程你有没有请教别人说下最难忘的项目经历17.汇川技术一面(12-1)项目简介STL、vectorQML 与 QWidget 的区别 (QML 从 2.0 版本开始向移动端靠拢)信号与槽机制、信号与槽与函数指针的比较多线程下用信号与槽的优缺点 (connect函数的第五个参数实际上是用在多线程的情况下的)socket的TCP的客户端与服务端怎么保证客户端与服务端在突然断网的情况下保证另一端知道? (饱和机制、心跳机制、看门狗机制)说说你的项目的亮点auto关键字 (不能定义数组)Qt的事件过滤器 (事件的传递是由子类往父类上传的)开放性问题:大量数据无序输入,怎么有序输出? (使用最大堆最小堆) (一面的面试官是个态度很好的年轻小哥)侯捷C视频全集与网络编程
汇川技术二面(12-4)介绍项目组成 - 滤波器的类型 - 怎么确定使用什么滤波算法比赛过程中的团队合作事情数学建模比赛的收获上学期间最有成就感的事情Linux 中的互斥锁和XX锁简述 STL常用的排序算法以太网了解吗?网络编程职业规划家庭背景18.声网测试(12-2)介绍音视频测评岗位的工作内容用的什么协议视频播放器、直播推流协议文件传输、视频协议相关工作讲解下用了音视频库的什么模块19.不知名的公司的音视频开发岗(12-4)做两道编程题: 快速排序(函数参数只有 int array,int length)用两个线程实现循环加数深拷贝与浅拷贝区别COOP 三大特性多态的用法项目:视频播放器用到 FFmpeg 哪些库H264 编解码原理 运动补偿熵编码ALCode 视频解析工具的使用直播工具使用了什么服务器(地点在武汉,印象最深的一场面试,面试官很友好,给我讲了半小时的音视频岗位的优势。从此便决定了一定要做音视频开发)
20.腾讯会议客户端(12-4)项目——视频播放器的功能 视频中的视频信息、音频信息的数据怎么存放课题中的难点C 智能指针 shared_ptr 的特殊用法C 内存管理windows 系统怎么预防死锁怎么解决程序 crashed 问题对音视频编码的了解有几种 NAL,如果在视频中存放信息存放在哪个帧怎么设置压缩码率?21.恒生电子一面(12-9)C11 什么新特性好用 多线程用队列处理数据有什么好处?用过什么数据库?多线程与多进程的区别?你认为你的优缺点是什么?二面(12-10)没问技术问题,只问背景问题。应该是 KPI22.新思科技一面(12-14)static 在 C 和 C 的用法virtual 与析构函数Linux 中用什么命令查找文件在项目中使用过多态吗用英文介绍自己的爱好二面(12-18)项目 功能代码量花多长时间STL 怎么解决哈希冲突长二进制反转virtual 析构函数写一个多态,展示内存泄漏23.浩鲸科技(12-15)操作系统: 消息队列、进程消息strcpy 和 memcpy 的区别多态具体怎么定义指针、引用怎么在多态里面用的24.映客直播一面(12-17)学过什么课程指针和引用的区别局部 变量与全局变量内存的分类OOP 三大特性Linux 常用命令简单聊聊直播推流工具边下边播用什么协议数据库的事务进程和线程、进程的通信方式、线程的安全问题TCP 和 UDP 的区别HTTP 的返回码怎么用两个栈实现一个队列怎么获取二叉树的高度二面(12-22)除了 C,学过其他语言吗MP4 包含了什么协议抖音、直播分别用什么协议TS 流有什么内容怎么传递视频信息怎么解决视频卡顿问题内存泄漏怎么排查安卓的生命周期设计模式有哪几种?单例模式有几种创建方式?Linux 的常用命令用过 shell 吗怎么通过 shell 获取 MD5 码?Linux 获取字符串的方式?建议:多了解前沿的流媒体格式!25.百富计算机(12-22)多进程多线程用过吗?Linux 命令了解吗?FFmpeg 编译过吗?音视频解码过程的格式视频播放器开发的过程OpenGL 使用的过程顶点着色器与片元着色器的不同VBO、FBO画面闪烁是什么原因造成26.埃森哲面试(12-24)群面,3 个候选人 1 个面试官公司介绍:世界 500 强 咨询公司 外企遇到难题以及解决方法在实习、项目中,怎么处理不属于自己工作范围内的工作职业方向规划?技术专家还是项目管理27.孩子王一面(12-29)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 不需要 deletevector 的内部机制编译过程虚函数表原理,虚表编译的过程new 和 malloc 的区别智能指针内部原理多线程TCP、UDP 的区别TCP 怎么保证可靠传输在一个局域网中怎么连接两台电脑?平时怎么学 C30.商汤科技(1-6)简单介绍项目—— vector 怎么 clearTCP 粘包、丢包进程的通信内存泄漏智能指针Qt 实现多线程QSS 属于第几个版本视频播放器怎么音视频同步设计模式 举例工程模式Qt 的 TableWidget 和 Table View 的区别做题 多态的选择题手写 Rational 类(包括<< >>重载)31.科曼医疗(1-7)介绍硕士课题项目Qt 自定义控件方法视频播放器Qt 多国语言QSS 主题样式设计模式 工厂模式的应用场景设计模式的优缺点信号与槽、和事件的区别视频与音频怎么同步介绍公司的研发方向: 应用软件开发下位机驱动开发单片机Windows 服务器开发32.思谋科技(1-11)多态及其用处静态多态包含什么类型纯虚函数虚析构函数重载与重写的区别extern "C"{}const 的作用指针和引用的区别C11 新特性 右值引用STL哈希强制类型转换Qt 的优点、缺点Qt 的核心机制Qt Graph信号与槽的优点和缺点是什么Qt connect 函数的连接方式TCP 三次握手的过程手写代码:自定义 String 类(真的要每天都复习八股文)33.华阳国际设计(1-20)实习的时候做什么工作指针和引用的区别空指针、悬垂指针TCP 的三次握手部门分工: 图形引擎(C#)平台开发(java、C)建模(C、OpenGL)34.中软国际(外包公司)一面(1-25)多态、虚析构函数强制类型转换类能否嵌套vector 改变容量时要注意什么对象移动unique_ptr 智能指针C11 多线程 lock_guard 怎么自动处理的多线程怎么发送信号线程怎么退出GDB 怎么调试段错误,怎么查看栈Linux 怎么处理 core 文件Git 用过吗?二面(1-28)多态的定义代码的处理过程、汇编的作用new 和 malloc 的区别内存的分类STL vector 的用法项目中是怎么用的Linux 用过什么指令项目都是自己做的?Qt 多线程用什么函数计网用过什么协议智能指针快速排序的思路MFC 用过吗设计模式、单例模式场景题:找出前 K 个最大元素的值(最大堆、最小堆的用法)三面(1-28)——经典好问题,必须好好分析写代码:找出数组中数量超过一半的元素int GetNum(int *array,int length) {unordered_map<int,int> mp;for(int i = 0;i<length-1;i){mp[array[i]];}for(int i = 0;i<length-1;i){if(mp[array[i]] > length / 2){return array[i];}}return -1;//没有的话返回-1//加入数据很大怎么办?——先排序sort(array);//sort的原理是什么return(array[length / 2]); C的 sort 函数是怎么实现的?音视频:YUV 格式与 RGB 格式的区别怎么实现一个服务端连接多个客户端?auto 的类型判断发生在什么阶段(编译期) 如果是在运行期的话会发生什么问题多态的分类类型转换智能指针锁的类型,自旋锁的原理GDB 的常用命令内存的分类一个栈多大?35.中国电子系统(1-26)实习的时候做的项目,举例做过的工作做的软件项目的流程单例模式的实现方法观察者模式哈希表的原理以及作用、怎么查找值计网 七层模型IP 协议三次握手和四次挥手为什么要进行四次挥手线程和进程 从 CPU 的角度区别线程和进程快速排序的思路、复杂度FFmpeg36.乐鑫嵌入式(1-27)介绍视频播放器介绍研究生课题代码题:十进制字符串转十六进制字符串选几个关键字描述自己你的优点和缺点你期望的工作(应该是KPI)
37.中元汇吉(1-27)OOP 特性、虚函数内存泄漏、智能指针STL学过什么数据结构、举例二叉树的用法QT 信号与槽 原理优势自定义结构体到信号与槽要注意什么工厂模式、单例模式原理和用法锁要注意什么GDB 用过吗项目中要怎么调试代码MySQL 索引是什么了解软件架构吗?MVC 模式了解吗?怎么使用软件设计思维?是正向还是逆向?38.Insta360(1-28)视频播放器 YUV 是怎么传递到 OpenGL 的AVFrame Parma 的意思YUV 有很多采样格式,你采用什么采样格式STL vector 和 list 的区别map 与 unordered_map 的区别(考虑到有序与否的区别、哈希函数)C11 的 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数据库怎么 sipC11 的新特性指针和引用的区别40.CVTE一面(2-22)二面(2-23)41.腾讯企业微信客户端(2-26)一面(2-26)1 小时内做 3 到算法题 反转单链表找出数组中最小的K个数长整数相加讲解题目(做的不好,分析复杂度)描述 Qt 的消息传递机制Windows 消息机制有哪些做题 区别 const 指针与 const 变量引用的用法(左值引用与右值引用、引用不能改变绑定对象)多态的用法二面(3-5)信号与槽的底层原理;信号与槽怎么做到性能优化哈希表与红黑树的对比:结构、查找Q t的多线程的信号与槽虚函数表原理构造函数调用虚函数可以吗?会发生什么?YUV 与 RGB 的区别音视频同步的方法数据库有几种范式HTTP 的底层模型用什么实现(TCP)网络的七层模型,作用、传输单位分别是什么TCP 的三次握手写一个快排;能否用非递归方式实现;什么时候复杂度最大?三面(3-11)继承、多态的定义听过多用组合,少用继承吗Qt 的信号与槽原理,怎么了解这个原理的?进程、线程的区别,对 OS 而言有什么目的对 I、B、P 帧的了解、MOOV 的格式了解音视频的了解PTS、DTS的区别YUV 与 RGB 的区别音视频同步的方法讲下视频播放器 流程怎么使用多线程能否用一个线程实现考虑功能扩展吗毕业课题 如何采集、滤波、处理考虑数据采集中断的情况吗考虑 C/S 模式吗实习 文件传输是怎么实现的做过什么工作平时怎么学习四面(3-11)给出一个二维 vector 表示点到原点的距离。一个五个点,5X5 的二维 vector。求从原点出发,再回到原点的最短路径,要求必须打印输出结果(条件概率)已知城市中蓝色:绿色车的比例是 15:85,目击者称看到蓝色车肇事逃逸,但是人区别蓝色和绿色的正确率是 80%。求真的是蓝色车肇事逃逸的概率(三面、四面在同一天进行。据说有的人腾讯面了六面。我止步于吃已经很满足。代码确实不会写)
42.万兴科技一面(3-2)Qt、C 分别用过多久?代码量多少比赛中你负责什么角色OpenGL 了解的深度、在 QT 中的用法FFmpeg 的了解Qt 用过多线程、网络吗Qt 3D 了解吗实习过程中学会什么C11 新特性;解释右值引用是为了解决什么问题?(移动语义)浅拷贝和深拷贝的区别OOP 设计原则博客有多少篇喜欢看什么书HR面(3-5)综合面(3-9)对 FFmpeg 的使用对音视频的了解对 C 的了解用过 C 的闭包吗?OpenGL 的了解其他 offer对公司文化的了解你目前的学习方式是什么?43.元戎启行一面(3-10)介绍一些康复器械项目C11 的新特性 lambda 表达式多线程共享内容问题,共享对象存放在哪个空间进程与线程 多进程、多线程多进程通信的方式,有几种信号OSI 七层模型 TCP 与 UDP 的区别TCP 拥塞控制要了解 MySQL红黑树的定义手撕代码:把有序链表转为平衡二叉树 怎么遍历结点复杂度优化遍历方式二面(3-15)虚函数 虚函数是类的定义出现还是对象的时候出现纯虚函数钻石继承为何不能出现智能指针 环型引用shared_ptr 的引用计数原理多线程的原子类型auto 关键字能给数组赋值,但是不能定义用过 Qt 的什么模块44.VIVO一面(3-12)讲一下对 OOP 的理解讲一下单例模式 多线程的单例模式锁互斥量为何能够用在多线程数据库 表是否一定要有主键主键与唯一索引的区别left join ,right join,full join怎么建立索引索引怎么优化HR面(3-19)介绍家庭情况对 IT 工程师的理解实现过程的收获举例压力大的实例,压力大的时候怎么解决收了什么 offer,为什么拒了你认为手机会怎么发展举例说明你说服别人接收自己观点的一个例子45.富途Windows客户端开发一面(3-16)虚表是怎么使用的?虚表指针存放在哪里?构造函数能否为 virtual,能否调用虚函数?coding:两数之和,非有序coding:LeetCode61 ——给定链表,按照某个规定旋转链表逻辑题:有 10 箱金子,,,,,,网络: TCP 与 UDP 的区别TCP的窗口拥塞控制OS:怎么避免死锁?二面(3-19)下面是有一个全局变量 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 IDwhere entryTime > 20180301and leaveTime < 20180831select 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); elseinsertBST(bt->right, data);}综合面(3-23)对公司的了解最近的 offer?为何不要?家庭成员、是否单身用三个词形容自己参加过的社团为何选择医学信息工程择业因素兴趣爱好学习方式自身的优势怎么完成学校到公司的过渡?46.美的一面(3-17)OOP 三大特点STL 常用容器栈与堆的区别new 和 malloc 的区别指针和引用的区别 sizeof 的区别自增的区别内存上绑定的区别工厂方法模式TCP 三次握手内存泄漏是什么意思数据库 事务的定义、4 个特性脏读、幻读索引(数据结构、优缺点)锁的作用Linux 在文本中快速查找内容找出进程的P ID (PS)如何查看 OS 的大小(free)工作问题 举例说明遇到的难题以及解决方法列举工作上的过程说服别人接收你的观点的例子团队合作的例子二面(3-17)你的专业是做什么的?做过窗口的信号共享吗?项目的滤波算法是什么?音视频项目的难题是什么?你的项目来源是哪里?遇到过程序崩溃的情况吗?TCP 的连接、释放过程 time_wait 状态分别是什么?分别发生在客户端和服务端的什么阶段?(终于拿到所谓大厂 offer。但是是 IT 部门,不是研发部门,在佛山。所以拒了)
47.科大讯飞(3-23)介绍康复训练系统 vector 如何处理数据数据库视频播放器 缓冲机制OpenCV 平滑操作是否用过 MySQL生产者消费者模式用过 socket 的 I/O 模型吗?多线程的用法 主线程次线程线程池怎么操作文件系统new 和 malloc 的区别48.多益网络(3-24)介绍项目、视频播放器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语言的关键字没用过三个面试官轮流进来房间面试,一个面试官问半小时。问的技术问题不多,主要问项目细节。其中一个面试官的一个问题用英语问,要求用英语回答并讨论。这个面试官告诉我好多面对项目的态度和看法,要发散思维,考虑用户体验。(最后一家面试以英特尔结束,算是完美结束了。反正我不留上海,不过就不过了)
侯捷C视频全集与网络编程