当前位置: 首页 > news >正文

面试面试面试new

1. 语言基础(C/C++)​​

Q: 谈谈C nCPP给你最大的区别感受, 什么是高级语言,高级何在?
Q: 谈谈C,C++的内存管理(开放性问题,比如malloc, new等区别;viod*是什么指针?怎么用? delete[]原理,怎么找到数组有多少个元素的)
Q: 谈谈高级语言的三大特性->谈谈设计模式,封装之类的,单例之类的;
Q: 谈谈菱形继承和如何解决->虚基表

Q1:C++多态如何实现?虚函数表原理?​​与虚基表对比一下讲讲区别
✅ 核心答案:

​静态多态​:函数重载、模板(编译期决议)。
​动态多态​:虚函数(运行期决议),基类指针调用派生类方法。
​虚函数表​:每个含虚函数的类有一个虚表(存储函数指针),对象隐含虚表指针(vptr),调用时通过vptr查表。

Q: 谈谈指针和引用的区别
​Q2:C++智能指针, 用过哪些?shared_ptr如何解决内存泄漏问题?​​
✅ 核心答案:

​unique_ptr​:独占所有权,禁止拷贝(移动语义),适用于单一拥有者场景(如局部对象管理)。
​shared_ptr​:基于引用计数实现共享所有权,自动释放内存,需注意循环引用问题(可结合weak_ptr解决)。
​weak_ptr​:不增加引用计数,用于打破shared_ptr循环引用。
例如:std::shared_ptr<Object> sp(new Object); 在离开作用域时自动析构。

​Q3:谈谈深浅拷贝,右值引用与移动语义的作用?​​
✅ 核心答案:

​右值引用(&&)​​:绑定临时对象(如函数返回值),避免深拷贝。
​移动语义​:通过转移资源所有权(如指针)提升性能,如std::move将左值转为右值,触发移动构造函数/赋值运算符。
应用场景:STL容器扩容时,移动元素而非拷贝。

Q4:vector和list的底层实现与适用场景?​​
✅ 核心答案:

​vector​:动态数组,连续内存,支持随机访问(O(1)),增删中间元素效率低(需移动后续元素)。
​list​:双向链表,非连续内存,插入/删除O(1),访问需遍历(O(n))。
选型:高频随机访问用vector,频繁增删用list。

​2. 数据结构与算法​

​Q1:谈谈BST AVL树, 谈谈红黑树的特点与优势?​​
✅ 核心答案:

​特性​:①节点红/黑;②根和叶(NIL)为黑;③红节点子必黑;④任意路径黑节点数相同。
​优势​:近似平衡的BST,插入/删除/查找均为O(log n),相比AVL树旋转次数更少,适合频繁修改场景(引申map/set)。

​Q2:哈希表冲突解决方法?​​
✅ 核心答案:

​链地址法​:冲突元素挂链表(如Java HashMap)。
​开放寻址法​:线性探测、二次探测、双重哈希,需注意负载因子扩容。
​再哈希​:使用第二个哈希函数计算新位置。 (引申unordered系列)。

​Q3:动态规划与贪心算法的区别?​​
✅ 核心答案:

​DP​:通过子问题最优解推导全局最优,需满足最优子结构和无后效性(如背包问题)。
​贪心​:每一步选局部最优,无法回退(如Dijkstra算法),需证明贪心选择正确性。

题目1: 反转链表: 本地从节点设计和方法开始写, 普通一趟扫描+递归看下边界处理如何
题目2: https://editor.csdn.net/md/?articleId=128264196 经典数组问题,也是本地写,变种位运算+优化空间

​3. 操作系统​

自由: 讲讲常用的linux指令,抓感兴趣的延伸, (eg: nslookup查看dns解析, ps 查看进程状态pid)
​Q1:进程间通信(IPC)方式及优缺点?​​
✅ 核心答案:

​管道​:单向,父子进程间通信,容量有限。
​共享内存​:高效(无需内核介入),需同步机制(如信号量)。
​消息队列​:异步通信,支持多进程,但数据拷贝有开销。
​信号量​:控制资源访问,常用于同步。

Q2:线程同步方式(互斥锁 vs 条件变量)?​​引申,自旋锁适用场景,伪代码
✅ 核心答案:

​互斥锁​:保护临界区,同一时间仅一个线程访问资源。
​条件变量​:搭配互斥锁使用,当条件不满足时线程阻塞(如生产者-消费者模型)。

​Q3:死锁的必要条件及解决方法?​​
✅ 核心答案:

​必要条件​:互斥、持有并等待、非抢占、循环等待。
​解决​:破坏任一条件,如银行家算法(避免死锁)、资源有序分配法(破坏循环等待)。

​4. 网络​

QQ: 讲讲整个五层模型网络架构:挑感兴趣的问
QQ: HTTP深度挖掘(最近HTTP的bug给我整麻了,好好拷打一下header这些)https://blog.csdn.net/wtl666_6/article/details/126876050
QQ:版本1.2.3的区别 https://blog.csdn.net/wtl666_6/article/details/128697770
Q1:HTTP与HTTPS的区别?SSL/TLS如何工作?​​
✅ 核心答案:

​HTTP​:明文传输,端口80。
​HTTPS​:HTTP+SSL/TLS加密,端口443,通过数字证书验证身份。
​SSL流程​:①客户端请求证书;②服务端发送证书;③协商会话密钥;④加密通信。

​Q2:TCP三次握手与四次挥手过程?​​为啥不是2 or 4次
✅ 核心答案:

​三次握手​:SYN→SYN+ACK→ACK(建立双向连接)。
​四次挥手​:FIN→ACK→FIN→ACK(双方确认关闭)。
​TIME_WAIT作用​:确保最后一个ACK到达,避免旧连接数据干扰新连接。

​Q3:epoll相比select/poll的优势?​​
✅ 核心答案:

​select/poll​:遍历所有fd,时间复杂度O(n),fd数量受限。
​epoll​:事件驱动,内核维护就绪队列,时间复杂度O(1),支持水平/边缘触发(LT/ET),百万级连接高效处理。

​5. 数据库​

​Q1:B+树索引的优势?​​索引插入怎么创建的 https://blog.csdn.net/wtl666_6/article/details/127954592
✅ 核心答案:

​结构​:多路平衡树,叶子节点存储数据并形成链表。
​优势​:①范围查询高效;②减少磁盘I/O(层数低);③适合排序与分组。

​Q2:事务ACID特性及隔离级别?​​事务实现方式->ReadView https://blog.csdn.net/wtl666_6/article/details/128006161
✅ 核心答案:

​ACID​:原子性(Undo Log)、一致性、隔离性(锁/MVCC)、持久性(Redo Log)。
​隔离级别​:读未提交→读提交→可重复读(MySQL默认)→串行化,级别越高并发越低。

​6. 项目 + 常用工具​

​QQ:git rebase和merge的区别?如何解决冲突? reset干嘛用的 cherypick呢​​
✅ 核心答案:

​merge​:保留分支历史,生成合并节点。
​rebase​:变基,将当前分支提交“嫁接”到目标分支,形成线性历史。
​冲突解决​:手动修改冲突文件→git add→git rebase --continue。
​总结​:问题覆盖候选人技术栈,答案需结合简历中提到的技术关键词(如CGI、epoll、生产消费模型等),突出实际应用能力与原理理解深度。

​Q1:HTTP服务器如何实现高并发?线程池如何设计?​​了解webbech压测工具 压测了吗?
✅ 核心答案:

​线程池​:预创建线程处理任务,避免频繁创建销毁开销。
​关键技术​:任务队列、互斥锁、条件变量(生产者-消费者模型),设置最大线程数防止资源耗尽。

​Q2:WebSocket在五子棋项目中如何实现实时通信?​​
✅ 核心答案:

​协议升级​:HTTP握手后切换为WebSocket(Upgrade: websocket)。
​全双工通信​:服务端主动推送棋局状态,使用WebSocket++库处理帧数据。
​数据格式​:JSON封装落子坐标、玩家状态,通过心跳包保活连接。

QQ: AI衍射

相关文章:

  • docker 安装prometheus普罗米修斯
  • 疑难问题解决(2)
  • git常用的命令
  • CSS 美化页面(五)
  • PD分离:优化大语言模型推理效率
  • MDA测量数据查看器【内含工具和源码地址】
  • ARINC818协议的帧格式
  • ARINC818协议(五)
  • Superduper - 在数据上构建端到端AI工作流和应用
  • AI问答收集
  • 深入理解React中的Props与State:核心区别与最佳实践
  • 基于CNN卷积神经网络和GEI步态能量提取的视频人物步态识别算法matlab仿真
  • QT6 源(36):界面组件的总基类 QWidget 的源码阅读
  • 《Spring Boot 测试框架指南:@SpringBootTest与Mockito的最佳实践》
  • PCM 参数深度解析:采样率、帧、缓存大小与多通道关系
  • Docker 容器与镜像核心操作命令大全(实战指南)
  • AI开发-效率提升小工具-“打盹弹窗侠”记录
  • 【Python3】Django 学习之路
  • 55、⾸屏加载⽩屏怎么进⾏优化
  • ES6 Object.values 特定字段处理
  • 为博眼球竟编造一女孩被活埋,公安机关公布10起谣言案件
  • “隐身”数年后重回公众视野的外滩美术馆
  • 杭州:调整个人购买家庭住房享受契税优惠住房套数查询规则
  • 1672万!大乐透8.8亿派奖第4期松江彩民18元中头奖
  • 一图看懂|特朗普政府VS美国顶尖高校:这场风暴如何刮起?
  • 中签不易,住宿更难,马拉松赛事期间酒店涨价难题如何解决?