知识总结

一、编程语言 c++ 

  •  虚函数
  •        在有继承关系的父子类中,构建和析构一个子类对象时,父子构造函数和析构函数的执行顺序分别是怎样的?
           在有继承关系的类体系中,父类的构造函数和析构函数一定要申明为 virtual 吗?如果不申明为 virtual 会怎样?
           什么是 C++ 多态?C++ 多态的实现原理是什么?什么是虚函数?虚函数的实现原理是什么?什么是虚表?虚表的内存结构布局如何?虚表的第一项(或第二项)是什么?
           菱形继承(类D同时继承B和C,B和C又继承自A)体系下,虚表在各个类中的布局如何?如果类B和类C同时有一个成员变了m,m如何在D对象的内存地址上分布的?是否会相互覆盖?  
  • 模板
  • 萃取
  • 函数对象
  • STL  vector 扩容策略;hashmap的实现;allocator的实现

二、操作系统

三、网络通信、网络编程

  • 三次握手
  • socket函数
  • select的缺陷
  • epoll模型

四、分布式系统、多线程编程

  • 同步互斥,异步非阻塞,回调的概念
  • 分布式存储的数据一致性保证

五、算法与数据结构

  • 数组
  • 链表
  • 二叉树
  • 哈希表
  • 遍历:递归/迭代
  • 排序算法
  • 动态规划
  •  二分查找

六、开源代码与系统框架

  •  kafka
  • mq 实现原理
  •       

七、搜索引擎技术

  • 正排实现
  • 倒排实现
  • 召回流程

八、数据库、缓存

 九、设计模式

  • 单例模式:多线程安全、懒汉饿汉的实现 ,适合的场景。
  • 反射机制
  • 工厂模式

TIPS: 后台开发学习

原文地址:https://www.cnblogs.com/simplepaul/p/14259699.html