面试总结

来源:互联网 发布:智慧树网络教育平台 编辑:程序博客网 时间:2024/06/06 03:29

C++

  • 继承
C++中 overload 、override、overwrite 之间的区别
  • 虚函数
  • 容器:

STL基础4:STL7个常用容器的比较

C++ STL 几个容器的底层实现 收藏一下

C++ Made Easier: How Vectors Grow

红黑树

红黑树之二(删除节点)

STL容器与拷贝构造函数

STL 中sort源码分析

  • 模板
  • 智能指针
  • 引用:

深入分析C++引用

C++中“引用”的底层实现

  1. 引用等价于指针常量
  2. 引用定义需要初始化是因为常量定义需要初始化
  3. 引用变量(指针)会被自动解引用
  4. 引用变量占内存空间,作为参数传递时实质上是传地址

new、delete、malloc、free关系,delete与delete[]的区别。

static 全局变量、局部变量、函数、类(const和static不能同时用)。



操作系统


  • 进程&线程

一个进程就是一个正在执行程序的实例,拥有独立的地址空间,包括程序计数器、寄存器和变量的当前值(从概念上说,每个进程拥有它自己的虚拟CPU)。

进程的创建:系统初始化;执行了正在运行的进程所调用的进程创建系统调用用户请求创建一个新进程;一个批处理作业初始化

进程状态:就绪、运行、阻塞。

线程拥有的资源:程序计数器、寄存器和堆栈。

  • 进程间通信(IPC)

竞争条件(race condition):两个或多个进程读写某些共享数据,而最后的结果取决于进程的精确时序。

临界区(critical region/section):对共享内存进行访问的程序片段。(使两个进程不同时处于临界区中能避免竞争条件)

信号量、互斥量

管程

  • 调度
假设只有一个CPU可用,那么就必须选择下一个要运行的进程,在操作系统中完成选择工作的这部分称为调度程序(scheduler)。
吞吐量(throughout):系统每个小时完成的作业数量。
周转时间(turnaround time):从一个批处理作业提交时刻开始直到该作业完成时刻为止的统计平均时间。
非抢占式:Fisrt-come fisrt-severd,Shortest job first
抢占式:Shortest remaining time next
轮转调度:时间片
优先级调度:静态或动态     
  • 内存
分页
分段
  • 死锁
死锁条件:互斥条件;占有和等待条件;不可抢占条件;环路等待。                                                                                                                                                                                            
死锁预防——有序资源分配法
死锁避免——银行家算法
死锁检测和死锁解除(恢复)



网易游戏面试

问了很多C++,具体题目在网上有很多,关于虚函数,继承等等,还有一部分Effective C++有,今年的试题重点都在字符串的处理。

0 0
原创粉丝点击