博客
关于我
校招面试题演练
阅读量:243 次
发布时间:2019-03-01

本文共 1527 字,大约阅读时间需要 5 分钟。

技术面试备考内容总结

一、语言与编程基础

  • static关键字作用

    • 加static:将变量或函数限定在当前类或文件中,仅在文件内可见。
    • 不加static:变量或函数在整个程序范围内可见。
  • const关键字与宏定义的区别

    • const:常量,表示只读,编译时已知类型,运行时不可修改。
    • 宏定义:预处理阶段展开,支持类型检查,但不具备类型安全性。
  • 虚函数实现

    • 虚函数表:记录类的虚函数地址,用于子类重写父类虚函数。
    • 虚函数指针:指向当前对象的虚函数表,存在于每个对象中。
  • 进程与线程区别

    • 线程:进程的轻量级执行单元,共享地址空间和资源,生命周期短。
    • 进程:资源分配独立,地址空间独占,生命周期长。
  • 线程同步与通信

    • 线程间:全局变量、自定义消息、std::promise等。
    • 进程间:管道、共享内存、信号量、套接字等。
  • 常见线程模型

    • 单线程模型:简单的任务执行。
    • 多线程模型:并发执行多任务,适合资源密集型任务。
  • 快排时间复杂度与实现

    • 时间复杂度:O(N log N),平均每次比较log N次。
    • 实现:分治策略,递归或迭代方式。
  • 二、算法与数据结构

  • 二叉树中序遍历

    • 递归实现:直接递归访问左、右节点。
    • 非递归实现:使用栈或队列模拟递归过程。
  • 寻找两个有序数组中的第N大元素

    • 合并法:时间复杂度O(N),空间复杂度O(N)。
  • 分糖果问题

    • 思路:将糖果分配给比自己高的孩子,逐层解决。
  • 常见排序算法

    • 堆排序:适合稳定排序,时间复杂度O(N log N)。
  • 三、操作系统与网络

  • 进程与线程切换

    • 进程切换:资源分配,频繁切换效率低。
    • 线程切换:更高效,适合I/O密集型任务。
  • TCP与UDP通信

    • TCP:可靠传输,三次握手建立连接。
    • UDP:无连接,传输速度快。
  • 网络协议

    • HTTP与HTTPS:HTTP明文传输,HTTPS加密传输。
    • HTTP状态码:常见状态码包括200、301、404、500等。
  • 网络设备与OSI模型

    • 路由器:负责将数据包从一个网络接口发送到另一个网络接口。
    • OSI模型:七层协议架构,包括物理层、数据链路层等。
  • 四、数据库与系统设计

  • 数据库索引

    • 适合建立索引:查询字段频繁访问或区分度高的字段。
    • 不适合建立索引:非键字段、经常更新字段。
  • 数据库事务与隔离性

    • 事务特性:原子性、一致性、隔离性、持久性。
    • 实现隔离性:通过锁机制或读写红蓝机制。
  • 缓存策略

    • FIFO:先进先出,简单实现。
    • LRU:按访问频率或最近使用时间淘汰。
  • 五、高级编程与系统优化

  • 智能指针

    • 四种智能指针shared_ptrunique_ptrweak_ptrintrusive_ptr
  • 内存管理与垃圾回收

    • 动态内存分配:使用newdelete
    • 智能指针:自动管理内存生命周期。
  • 多态与虚函数

    • 多态实现:通过虚函数和虚函数表。
    • 钻石继承:避免多个虚函数引起的异常。
  • 线程与进程同步

    • 互斥机制:确保多个线程/进程访问同一资源时不发生冲突。
    • 同步机制:信号量、互斥锁、临界点等。
  • 六、其他常见问题

  • TCP四次握手

    • 四次握手:确保数据可靠传输,防止丢失。
    • 2MSL等待:防止数据丢失和已失效报文段。
  • 网络协议与 socket 编程

    • socket:描述符用于网络通信,支持TCP和UDP协议。
    • I/O多路复用selectpollepoll均用于监控多个I/O事件。
  • 内存管理与缓存

    • 缓存策略:FIFO、LRU、LFU等。
    • 内存泄漏:避免使用newdelete不匹配,或不释放动态内存。
  • 数据结构与算法

    • 树与图:应用场景包括排序、搜索、网络路由等。
    • 图遍历:深度优先搜索、广度优先搜索等。

  • 以上内容涵盖了常见的技术面试问题,结合实际开发经验,可针对性地进行准备和练习。

    转载地址:http://yeev.baihongyu.com/

    你可能感兴趣的文章
    postman进行http接口测试
    查看>>
    Postman高阶技能:Collection集合批量运行!
    查看>>
    postMessage跨标签页共享数据
    查看>>
    QImage对一般图像的处理
    查看>>
    post为什么会发送两次请求?
    查看>>
    Post表单提交TextArea的值出现转译乱码问题 - Spring MVC处理表单提交
    查看>>
    Power BI 中的 Python 可视化需要什么设置?任何特定的 matplotlib 包版本或系统设置?
    查看>>
    Power BI:如何在 Power Query 编辑器中将 Python 与多个表一起使用?
    查看>>
    power english (3) main text -emotion mastery - focus
    查看>>
    POWER ENGLISH (6) - MODEL
    查看>>
    power english (1) —— passion
    查看>>
    Power English (1) 原文
    查看>>
    power English (3)原文
    查看>>
    POWER ENGLISH(7)- repetition
    查看>>
    SpringBoot中集成SpringBatch详细解析与实战示例(CSV文件读取十万条数据进行业务处理后写入Mysql数据库)
    查看>>
    powerbi 一张表在另外一张表中出现的数量_PowerBi之初步学习笔记
    查看>>
    QGIS怎样设置简体中文以及新建可编辑的多边形的图层
    查看>>
    PowerBuilder 使用自定义事件触发键盘Enter事件
    查看>>
    PowerCreatorCMS UploadResourcePic 任意文件上传漏洞复现
    查看>>
    PowerDesigner 使用的一些技巧(转)
    查看>>