想问这个c++题目程序运行超时怎么办了是怎么回事啊?

昨天一位读者分享了自己的 C++ 面试经历。简单沟通后,读者双非本硕,自嘲注定就是炼狱模式。50 家公司的 C++ 面经也整理好了。本次就分享下面经。以后分享学习路线和心得。

读者情况:双非本硕,本科机械,硕士做的软件开发课题。

学过一点点 C++,但是面试前连多态都不会写。研三经历炼狱校招,从零开始学习,数据结构和算法也是从零开始。
结果:几乎面试了所有大厂,收到了 13 份 offer。虽然没有进大厂,但是拿到音视频开发 offer,待遇刚好是大厂白菜价。已经很满足。

  1. 左值引用与右值引用有什么区别,左值引用和右值引用的目的是什么
  2. 构造函数和析构函数能不能是虚函数
    1. TCP/IP 的连接和断开过程
    2. I/O 多路复用是什么
    3. http 接口的函数用过吗
    1. 多线程和多进程的优缺点
    1. Qt信号与槽实现的机制
    2. 项目用的多线程是怎么实现的

  1. 项目:有做过嵌入式项目吗 总结:应该是 KPI,他想找做嵌入式的多点

3.医科达——电话面(10-23)

  1. 单例模式怎么处理多线程

4.联影——电话面(10-24)

  • 怎么处理队员之间的问题

  1. 看过哪些 C++ 的书
  2. 多线程,怎么判断线程结束
  3. vector 中迭代器失效的情况
  4. FFmpeg 中对视频和音频的同步方法

  1. 静态链接库与动态链接库的区别
    1. 怎么对图像进行变换,变换矩阵是什么
    2. 还有其他简单的 OpenGL 问题

  1. 怎么自己实现 Qt 的信号与槽?
  • 其他忘了,面试官脾气不是很好,,
  • (终于拿到第一份 offer!)

    1. 假如定义了一个指针,后面接着一个循环并 return,会造成什么后果?(内存泄漏)
    2. 其他忘了(没有问项目)

    1. 音视频切换的多线程怎么处理帧切换的问题
    2. 大数据处理题:建立一个数据结构,存储 1 到 10 亿的数,要能够去重和插入(答案:用两个数组,建立二维表格)
    3. 找出一个 RGB 文件中出现最多的前十种颜色

    9.传音控股电话面(11-7)

    1. 直接问项目的 OpenGL 怎么绘制视频,结果回答不好被嫌弃了;
    2. 死锁怎么产生的?有没有遇到过死锁问题?(多线程不是一般般的重要!)

    1. 先做算法题:找出数组中次数最多的前 k 个数
    2. 说下 C++ 新特性 auto变量的使用注意事项
    3. OpenGL 的着色器在每个渲染步骤是怎样的?
    4. 设计模式、单例模式的线程安全问题

    1. HTTP 网络协议好多内容
    2. 还有好多问题,几乎把计算机基础的难点都问了

    做富士康的工业互联网。看简历,没问技术基础。 给了 offer,但是只有 7K,其他补贴加起来只有 10K,难怪没人去

    1.C 和 C++ 的区别 2.栈和堆的区别 3.双链表和单链表的优缺点 4.面向对象三大特性:封装、继承、多态,继承的作用是什么 5.了解 Qt 和 MFC 吗 6.工作地点 7.对薪资有什么要求

    1. 最近的项目——视频播放器设计
    2. 用英语简单描述自己的项目

    1. OOP 三大特性、继承中三个修饰符的用法
    2. TCP 连接过程中客户端与服务端使用什么函数实现连接
    3. 智能指针,weak_ptr 能够破坏环型引用的原理(引用计数的原理)

    (秃头架构师面试,态度很好,叫我不要紧张。我印象深刻的一场面试之一)

    16.广和通电话面(12-1)

    1. 说下项目解决过程你有没有请教别人

    1. 信号与槽机制、信号与槽与函数指针的比较
    2. 多线程下用信号与槽的优缺点 (connect函数的第五个参数实际上是用在多线程的情况下的)
    3. 怎么保证客户端与服务端在突然断网的情况下保证另一端知道? (饱和机制、心跳机制、看门狗机制)
    4. auto关键字 (不能定义数组)
    5. Qt的事件过滤器 (事件的传递是由子类往父类上传的)
    6. 开放性问题:大量数据无序输入,怎么有序输出? (使用最大堆最小堆) (一面的面试官是个态度很好的年轻小哥)

    汇川技术二面(12-4)

    1. 介绍项目组成 - 滤波器的类型 - 怎么确定使用什么滤波算法
    2. 比赛过程中的团队合作事情
    3. 上学期间最有成就感的事情

    1. 介绍音视频测评岗位的工作内容
    2. 视频播放器、直播推流协议
    3. 文件传输、视频协议相关工作
    4. 讲解下用了音视频库的什么模块

    19.不知名的公司的音视频开发岗(12-4)

    • 用两个线程实现循环加数
  • 项目:视频播放器用到 FFmpeg 哪些库
  • ALCode 视频解析工具的使用
  • 直播工具使用了什么服务器
  • (地点在武汉,印象最深的一场面试,面试官很友好,给我讲了半小时的音视频岗位的优势。从此便决定了一定要做音视频开发)

    20.腾讯会议客户端(12-4)

    1. 项目——视频播放器的功能
    • 视频中的视频信息、音频信息的数据怎么存放
  • 有几种 NAL,如果在视频中存放信息存放在哪个帧
    1. C++11 什么新特性好用 多线程
    2. 用队列处理数据有什么好处?
    3. 多线程与多进程的区别?
    4. 你认为你的优缺点是什么?

    • 没问技术问题,只问背景问题。应该是 KPI

    1. Linux 中用什么命令查找文件

  • 写一个多态,展示内存泄漏
    1. 操作系统: 消息队列、进程消息
    2. 指针、引用怎么在多态里面用的

    1. 进程和线程、进程的通信方式、线程的安全问题
    2. 怎么用两个栈实现一个队列

    1. 除了 C++,学过其他语言吗
    2. MP4 包含了什么协议
    3. 抖音、直播分别用什么协议
    4. 设计模式有哪几种?单例模式有几种创建方式?
    5. Linux 获取字符串的方式?
    6. 建议:多了解前沿的流媒体格式!

    1. 顶点着色器与片元着色器的不同
    2. 画面闪烁是什么原因造成

    1. 群面,3 个候选人 1 个面试官
    2. 公司介绍:世界 500 强 咨询公司 外企
    3. 在实习、项目中,怎么处理不属于自己工作范围内的工作
    4. 职业方向规划?技术专家还是项目管理

    1. C++ 有几种构造函数
    2. STL 的迭代器失效,怎么解决
    3. C++ 与其他语言的区别?(指针、回收)
    4. 智能指针的使用场景:连接数据库
    5. STL 是复制性还是侵入性
    6. 红黑树比AVL的优势,为何用红黑树
    7. 数据库的锁、事务、引擎
    • 用户的余额显示、余额减少等,要不要用事务?
    • 用户系统,有用户ID。加入有手机号注册,怎么验证是否注册
    • 用户扩大时,怎么扩容?
  • I/O 多路复用的理解
  • 动态规划与贪心算法的区别(背包问题分析)
    1. 岗位必备技能是:C++ 基础、网络、数据库。是电商中台

    28.富途证券后台开发(1-4)

    1. 说说从浏览器输入网站用到的协议
    2. MySQL 加快查询的方式

    1. 虚函数表原理,虚表编译的过程
    2. TCP 怎么保证可靠传输
    3. 在一个局域网中怎么连接两台电脑?

    1. QSS 属于第几个版本
    2. 视频播放器怎么音视频同步

  • 信号与槽、和事件的区别
  • 信号与槽的优点和缺点是什么
  • TCP 三次握手的过程
  • 手写代码:自定义 String 类(真的要每天都复习八股文
  • 33.华阳国际设计(1-20)

    34.中软国际(外包公司)

    1. vector 改变容量时要注意什么
  • GDB 怎么调试段错误,怎么查看栈
    1. 代码的处理过程、汇编的作用
  • Qt 多线程用什么函数
  • 场景题:找出前 K 个最大元素的值(最大堆、最小堆的用法)
  • 三面(1-28)——经典好问题,必须好好分析

      C++的 sort 函数是怎么实现的?

    1. 音视频:YUV 格式与 RGB 格式的区别
    2. 怎么实现一个服务端连接多个客户端?
    3. auto 的类型判断发生在什么阶段(编译期) 如果是在运行期的话会发生什么问题
    4. 锁的类型,自旋锁的原理

    35.中国电子系统(1-26)

    1. 实习的时候做的项目,举例做过的工作
    2. 哈希表的原理以及作用、怎么查找值
    • 从 CPU 的角度区别线程和进程
  • 快速排序的思路、复杂度
    1. 代码题:十进制字符串转十六进制字符串

    1. 学过什么数据结构、举例二叉树的用法
    • 自定义结构体到信号与槽要注意什么
  • 工厂模式、单例模式原理和用法
  • 了解软件架构吗?MVC 模式了解吗?
  • 怎么使用软件设计思维?是正向还是逆向?
    • YUV 有很多采样格式,你采用什么采样格式
    • map 与 unordered_map 的区别(考虑到有序与否的区别、哈希函数)
  • lambda 表达式、怎么捕获外部变量
  • socket 阻塞和非阻塞的区别
  • TCP 中间连接的时候断开会发生什么(重传、超时、等待状态、TCP 可靠连接原理)
  • 进程内部的栈内存、堆内存、各自的增长方式
  • 双链表怎么查找倒数第二个结点
  • OpenGL 常见的坐标系的变换顺序
    • C++ 怎么申请连续的内存
    • C++ 的垃圾回收机制
    • 工程模式是什么,3 种工工厂模式的区别
    • 排序算法有哪些,哪些的复杂度是稳定不变的
    • vector 是不是线程安全的,怎么写个线程安全的 vector

    41.腾讯企业微信客户端(2-26)

    1. 1 小时内做 3 到算法题
    • 找出数组中最小的K个数
  • 讲解题目(做的不好,分析复杂度)
  • 描述 Qt 的消息传递机制
    • 引用的用法(左值引用与右值引用、引用不能改变绑定对象)

    1. 信号与槽的底层原理;信号与槽怎么做到性能优化
    2. 哈希表与红黑树的对比:结构、查找
    3. Q t的多线程的信号与槽
    4. 构造函数调用虚函数可以吗?会发生什么?
    5. HTTP 的底层模型用什么实现(TCP)
    6. 网络的七层模型,作用、传输单位分别是什么
    7. 写一个快排;能否用非递归方式实现;什么时候复杂度最大?

    1. 听过多用组合,少用继承吗
    2. Qt 的信号与槽原理,怎么了解这个原理的?
    3. 进程、线程的区别,对 OS 而言有什么目的
    4. 对 I、B、P 帧的了解、MOOV 的格式了解
    • 考虑数据采集中断的情况吗

    1. 给出一个二维 vector 表示点到原点的距离。一个五个点,5X5 的二维 vector。求从原点出发,再回到原点的最短路径,要求必须打印输出结果
    2. (条件概率)已知城市中蓝色:绿色车的比例是 15:85,目击者称看到蓝色车肇事逃逸,但是人区别蓝色和绿色的正确率是 80%。求真的是蓝色车肇事逃逸的概率

    (三面、四面在同一天进行。据说有的人腾讯面了六面。我止步于吃已经很满足。代码确实不会写)

    1. Qt、C++ 分别用过多久?
    2. Qt 用过多线程、网络吗
    3. C++11 新特性;解释右值引用是为了解决什么问题?(移动语义)

    1. 用过 C++ 的闭包吗?
    2. 你目前的学习方式是什么?

    • 多线程共享内容问题,共享对象存放在哪个空间
    • 多进程通信的方式,有几种信号
  • 手撕代码:把有序链表转为平衡二叉树
    • 虚函数是类的定义出现还是对象的时候出现
  • auto 关键字能给数组赋值,但是不能定义
  • 用过 Qt 的什么模块
    1. 讲一下对 OOP 的理解
    • 互斥量为何能够用在多线程

    1. 对 IT 工程师的理解
    2. 举例压力大的实例,压力大的时候怎么解决
    3. 收了什么 offer,为什么拒了
    4. 举例说明你说服别人接收自己观点的一个例子

    1. 虚表是怎么使用的?虚表指针存放在哪里?
    2. 构造函数能否为 virtual,能否调用虚函数?
    3. coding:两数之和,非有序
    4. coding:LeetCode61 ——给定链表,按照某个规定旋转链表
    5. 逻辑题:有 10 箱金子,,,,,,

    1. 下面是有一个全局变量 a 和两个线程,这两个线程同时开始并发执行各自的代码, 在两个线程都执行结束后,请问 a 的值为______
    1. 已知公司 OA 数据库有一个员工信息表,包含员工 ID,员工姓名,入职时间,和离职时间。财务审核时发现 201803 到 201808 这 6 个月,当时所有在职员工都少发了工资,现在老板需要了解有多少人受影响需要获得补偿。请写出查询语句。
    1. 实验室有 100 个瓶子,其中有一瓶装有慢性毒药(第 3 天发作),另外 99 瓶装有蒸馏水。请问至少需要多少只小白鼠才能在3天内找出哪一瓶是慢性毒药?_______只

    4.找出出现频率最高的前 K 个数,或者从海量数据中找出最大的前 K 个数

    5.实现排序二叉树的插入方法

    1. 最近的 offer?为何不要?
    2. 怎么完成学校到公司的过渡?

    • 事务的定义、4 个特性
    • 索引(数据结构、优缺点)
    • 如何查看 OS 的大小(free)
    • 举例说明遇到的难题以及解决方法
    • 说服别人接收你的观点的例子

    1. 做过窗口的信号共享吗?
    2. 项目的滤波算法是什么?
    3. 音视频项目的难题是什么?
    4. 遇到过程序崩溃的情况吗?
    5. TCP 的连接、释放过程
    • 分别发生在客户端和服务端的什么阶段?

    (终于拿到所谓大厂 offer。但是是 IT 部门,不是研发部门,在佛山。所以拒了)

    1. 视频文件是什么格式,怎么存放的
    2. 怎么设计视频播放器的暂停?后端是怎么处理的?进度条怎么显示的?
    3. 指针和引用的区别?在传递参数上有什么区别?
    4. 函数未定义时会怎么样?
    5. 写代码:用 C++ 实现全排列
    6. 工作问题:如何看待加班?

    • C/S 模式是如何处理的?
    • 用 TCP 怎么传递消息?
    • 用 UDP 怎么实现可靠的传输?
  • 算法问题: 网格中有 2 个点,怎么找到从 A 到 B 的最短路径?(用广度优先搜索)
  • 数据库:为何索引的数据结构用 B-tree?
    (因为数据库主要消耗在磁盘 I/O 上,所以要优化磁盘 I/O ,如果用红黑树,树的深度太高,消耗磁盘 I/O 太多,速度会太慢)
  • 50.英特尔现场面(4-12)

    1. 做一份笔试,问的比较细节,操作系统比较重要,几个 C语言的关键字没用过
    2. 三个面试官轮流进来房间面试,一个面试官问半小时。问的技术问题不多,主要问项目细节。
    3. 其中一个面试官的一个问题用英语问,要求用英语回答并讨论。这个面试官告诉我好多面对项目的态度和看法,要发散思维,考虑用户体验。

    (最后一家面试以英特尔结束,算是完美结束了。反正我不留上海,不过就不过了)

    觉得有用点赞,欢迎关注

}

为了大家更好的应对决赛,大赛主办方特此整理一份Q&A(后续会根据赛程中大家所关注的重点问题持续更新),期望对大家有所帮助。

比赛过程中如有疑问,可在腾讯云+社区--Change SQL大赛的,技术团会及时查阅并解答,如涉及题目解析、日志解读等具体细节,技术团不予作答,期望理解。

竞技过程中选手们须遵守比赛规则,对于,大赛主办方有权启动惩罚机制甚至追责。祝大家取得好成绩,加油!!!


Q:决赛规则里,选手需要特别关注的违规行为?

A:1)禁止在make编译时对源数据进行预处理操作来达到缩短迁移时间的目的;2)比赛中不允许对数据集进行定向优化,即所有关于数据集的信息只能从数据集本身获取,不能硬编码。3)针对选手最终提交的评测程序,大赛技术团会全盘复审,复审后才会生成最终成绩并公示,请大家严格遵守比赛规则。

A:语言涉及go 删除。

}

试题的解答提交后由评分系统评出即时得分,

每一次提交会判决结果会及时通知;

对于判断、选择、填空题,系统已经接收到您的提交

对于判断、选择、填空题,在题目集关闭之前,不显示判题结果

对于判断、选择、填空题,该提交已经被您的当前提交所覆盖,系统将只评判题目

集关闭前对该题目的最后一次提交

评测系统还没有评测到这个提交,请稍候

评测系统正在评测,稍候会有结果

您提交的代码无法完成编译,点击“编译错误”可以看到编译器输出的错误信息

您的代码只通过了部分测试点,继续努力!

您的程序输出的格式不符合要求(比如空格和换行与要求不一致)

您的程序未能对评测系统的数据返回正确的结果

您的程序未能在规定时间内运行结束

您的程序使用了超过限制的内存

您的程序在运行过程中崩溃了

您的程序结束时返回值非

您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等

您的程序运行时发生浮点错误,比如遇到了除以

您的程序输出了过多内容,一般可能是无限循环输出导致的结果

评测系统发生内部错误,无法评测。工作人员会努力排查此种错误

我应该从哪里读输入,另外应该输出到哪里?

如果没有特别说明,你的程序应该从标准输入(

不要使用文件做输入输出

}

我要回帖

更多关于 软件超市 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信