面试试题

数学

  • 怎么判定点在矩形外?
  • 判断一个点是否在多边形内部?
  • 两个向量的最小夹角?
  • 两个向量的同向和反向判定?

数据结构

  • 简述快速排序过程?
  • 红黑树、二叉树、平衡二叉树,三者有什么区别?
  • 堆排序原理
  • 贪心算法和动态规划的区别?
  • 贪心算法的复杂度是多少?
  • 哈希表解决哈希冲突的方法?
  • 给定的一系列数组中查找指定的数据(重复,丢失,最大,最小)
  • 如何检查两个矩形是否重叠?
  • 如何在不使用第三个变量的情况下交换两个数字?

网络相关

  • OSI网络模型有多少层,分别是什么?
  • TCP与UDP的区别?
  • TCP连接/断线多少次握手,多少次挥手,分别做的是什么?
  • TCP有没有方法可以优化其速度?

C++

  • 全局对象的构造函数在main 函数前还是后?
  • volatile restrict const三个修饰符有什么用?
  • 子类析构时要调用父类的析构函数吗?
  • c++编译过程是怎么样的?
  • C#/C++编译后的类文件结构是怎么样的

C#

  • volatile
  • internal protected
  • C#是否支持多重继承?
  • string和stringbuilder的区别?
  • 如何使用new覆盖方法?
  • 深克隆、浅克隆的区别?

other

  • 进程间通信的几种方式, 分别是什么?
  • 描述线程与进程的区别?
  • 程序调试的原理?
  • 如何提高CPU的使用率?
  • 什么是内存命中率,内存命中率如何提高?
  • 说说txt文件的存储格式?