那些常见的C++、Qt基础面试题
前言
又到了金三银四的季节,每年这个时候都是跳槽的高峰期,在整理电脑资料的过程中发现一些之前记录的面试过程中最常提到的C++和Qt相关问题,其实都是些很基础的知识点,但是在面试过程中出镜率非常高。总结如下,仅供参考。
正文
废话不多说,直接上题。
C++基础篇
- 1.线程同步的方式有哪些
- 2.线程间通信如何实现
- 3.进程间通信如何实现
- 4.IO模型用过哪些
- 5.IO实现的方式有哪些
- 6.用过哪些STL
- 7.迭代器失效怎么产生的,如何避免
- 8.vector、list、map实现原理
- 9.如何实现多态
- 10.虚函数实现原理,虚函数表结构,对于菱形继承结构,虚函数表处理方式是什么
- 11.内存结构分配方式
- 12.malloc free 和new delete的区别,为什么不能malloc和delete混用,会产生什么问题
- 13.红黑树实现原理
- 14.查找算法有哪些
- 15.排序算法有哪些
- 16.快排实现原理,时间复杂度是多少
- 17.指针和引用的区别
- 18.const声明指针的问题
- 19.哪些运算符不能重写
- 20.什么是线程安全
- 21.C++11新特性用过哪些
- 22.vector的C++新特性有哪些
- 23.讲讲右值引用与完美转发
- 24.对象池的使用及场景
- 25.线程池介绍,使用场景和实现原理
- 26.内存池使用场景和实现原理
- 27.C++的锁
- 28.Lambda表达式传递值有哪些方式,如何确定lambda的返回值 参考这里
- 29.智能指针介绍
- 30.shared_ptr相互引用的场景,如何解决
- 31.auto和decltype的区别
- 32.vector内存拷贝问题,什么情况下会出现内存拷贝,如何解决这个问题使其更加高效
- 33.vector中resize和reverse的区别
- 34.内存泄露的情况
- 35.链表实现原理
- 36.动态库和静态库的区别
- 37.多线程在什么场景下使用
- 38.动态库导出的接口设计有哪些需要注意的。工作中有没有做过动态接口设计,如何考虑不同版本的兼容性。假如已经导出了接口给外部使用,并且该版本已经发布出去了,如果新增加了接口,那么如何保障已经发出去的版本能够调用到这个新的接口,如何设计这个兼容性问题。 参考这里
- 39.用过哪些设计模式,举例说明其原理 参考这里
- 40.用过哪些算法
Qt相关
- 1.Qt创建线程的方式有哪些 参考这里
- 2.信号槽实现原理
- 3.Qt的消息传输机制
- 4.QML和C++的交互方式
- 5.如何在C++中定义model并在qml中使用
- 6.moveToThread的优缺点
- 7.Qt中的http是同步还是异步,如何实现同步
- 8.Qt的信号槽是线程安全的吗
- 9.Qt信号的连接方式
- 10.元对象系统介绍
- 11.QPixmap和QImage的区别 参考这里
- 12.Qt跨平台的优缺点
平台相关
- 1.win系统编程用过哪些系统接口
- 2.windows消息传递机制
- 3.如果要自己写消息循环会怎么写
- 4.windbg调试使用
- 5.内存泄露如何排查和解决
- 6.什么是消息队列
- 7.一个进程可以有多个消息队列吗
- 8.sendMessage和postMessage的区别
- 9.VS调试dump文件过程
网络相关
- 1.TCP底层原理
- 2.TCP三次握手,四次握手过程,发送的报文以及每次握手的状态,断开后为什么是time_wait状态
- 3.TCP粘包如何处理
- 4.网络传输协议如何制定,哪些字段必须定义
编程相关
- 1.手写快排代码
- 2.手写冒泡排序
- 3.创建单向链表,顺序添加10个元素
- 4.创建红黑树,添加元素
- 5.单项链表,如何快速查出倒数第N个数据的值
- 6.假设内存无限大,100万个short类型的数据,如何高效排序
- 7.vector一次循环删除多个元素
参考:
std::vector<int> v = {1,3,5,6,3,4,7,3};for(auto it = v.begin(); it != v.end();){cout << "*it=" << *it << endl;if(*it == 3){it = v.erase(it);}else{it++;}}
项目相关
- 1.libevent接口如何封装的
- 2.介绍自己设计的项目框架
- 3.项目中遇到的难题,如何解决的
- 4.如何调试程序,崩溃问题如何排查
- 5.git和svn区别
那些常见的C++、Qt基础面试题相关推荐
- 常见JavaScript基础面试题上(附答案)
常见JavaScript基础面试题上(附答案) 1.JavaScript有哪些垃圾回收机制? 有以下垃圾回收机制. 标记清除( mark and sweep) 这是 JavaScript最常见的垃圾回 ...
- Android开发面试经——2.常见Android基础笔试题
标签: androidAndroid基础Android面试题Android笔试题 2015-03-12 15:04 3361人阅读 评论(3) 收藏 举报 分类: Android开发(29) 版 ...
- python实习生基础面试题_常见的Python基本面试问题,python,基础,面试题
常见 python 基础面试题 1,文件操作时:xreadlines和readlines的区别? readlines()是把文件的全部内容读取到内存,并解析一个list,当文件的体积很大的时候,需要占 ...
- 猿圈 题库_小猿圈总结常见HTML5基础知识面试题汇总
现在对于刚刚毕业的大学生来说,面试是一种一点自信都没有的,但是对于一些有职场经验的人来说,是轻车熟路的,今天作为IT行业中的老油条,小猿圈web前端讲师为你简单讲解HTML5基础知识面试题汇总. 1. ...
- 计算机应用会考试题,余杭区2006年职高计算机应用基础会考试题
余杭区2006年职高计算机应用基础会考试题 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 余杭区2006年职壽计算机应用基础会考试题第 ...
- 100道Java基础面试题收集整理(附答案)
不积跬步无以至千里,这里会不断收集和更新Java基础相关的面试题,目前已收集100题. 1.什么是B/S架构?什么是C/S架构 B/S(Browser/Server),浏览器/服务器程序 C/S(Cl ...
- Qt学习之Qt基础入门(下)
1. 前言 前两篇博客简单的阐述了一下Qt的入门用法,这篇博客继续跟着视频学习. Qt入门系列: Qt学习之C++基础 Qt学习之Qt安装 Qt学习之Qt基础入门(上) Qt学习之Qt基础入门(中) ...
- Qt学习之Qt基础入门(中)
1. 前言 上一篇博客,总结了Qt的一些基础用法,这篇博客继续跟视频学习Qt的常用方法 Qt入门系列: Qt学习之C++基础 Qt学习之Qt安装 Qt学习之Qt基础入门(上) Qt学习之Qt基础入门( ...
- Java 基础面试题,java基础面试笔试题
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...
最新文章
- python中保留两位小数的编写程序_Python中保留两位小数的几种方法
- Linux下出现Read-only file system的解决办法
- python好还是c+-嵌入式系统中,Python与C/C++哪方更为适用?
- 快速找到Word 2007长文档的某一页
- wing IDE常用快捷键
- 【转】Unity中的单位长度与像素之间的关系
- FPGA笔录(2)-触发器与锁存器原理
- 设计模式笔记零:设计模式简介
- 比特币:一种点对点的电子现金系统
- OKR与互联网创业团队
- linux本地检测如何tomcat是否启动成功tomcat端口检测
- C++11 override 和 final 关键字
- google地图设置语言
- 机器学习之分类算法--mnist手写体识别
- 中小企业怎么创作一个具备品牌故事的软文营销方案
- CSS3 - @keyframes
- 许纪霖《中华儒家文化发展脉络》思维导图
- crx2rnx格式转换
- 一文看尽深度学习中的生成对抗(GAN)网络
- [AGC056E]Cheese
热门文章
- 0222互联网新闻 | 快手推游戏直播App“电喵直播”及工具型App光音Mulight;“AI音乐学院”完成PreA轮融资...
- 互联网1分钟 |1229
- C++ - 模板函数须要类型转换时使用友元(friend)模板函数
- Mercury LoadRunner
- javascript 卸载事件(onunload)
- MySQL数据库管理(二)单机环境下MySQL Cluster的安装
- 关于android的几个小知识点
- 云监控Agent指南-Linux版
- 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用35
- 单片机驱动DM9000网卡芯片(详细调试过程)【下】