Fork Me
作为程序猿,你需要知道的
16 May 2016 - by @ssdr

##语言C/C++

  1. 空类
  2. C和C++的区别
  3. 常量指针和指针常量
  4. 引用和指针
  5. C和C++函数互调/extern “C”的用处
  6. 源代码到可执行程序的流程
  7. 聚合和组合
  8. 简述几种内存分配方式/内存模型
  9. 如何判断一个链表是否有环
  10. 如何判断两个链表是否重合,找到重合点
  11. 构造函数/析构函数(虚函数)
  12. new/delete/malloc/free区别和联系
  13. 多态实现原理
  14. String类声明
  15. char* strcpy(const char* src, char* dst)实现/memcpy实现
  16. 不使用判断语句获取两个数中较大的一个

##Linux操作系统 ###基础

  1. 常用命令

    find,grep,awk,sed,lsof,ps,netstat

  2. vim,shell
  3. gcc/gdb/makefile
  4. 版本管理git/svn

###多路复用

  1. 同步/异步
  2. 阻塞/非阻塞
  3. select/epoll
  4. 带超时机制的connect函数

##协议 ###TCP

  1. 协议栈
  2. 连接建立/数据传输/连接断开
  3. TCP状态转换:TIME_WAIT/CLOSE_WAIT

###HTTP

  1. 响应码
  2. 206,301,302,304理解
  3. chunked

##设计模式

  1. 单例模式实现/线程安全/垃圾回收
  2. reactor模式

##开源

  1. nginx

    内部数据结构的实现细节 事件模型 内存池管理

  2. libevent
  3. memcached
  4. redis
  5. twemproxy
  6. atlas/mysql-proxy
  7. webbench, ab
  8. keepalived
  9. openresty
  10. ngx-lua-module
  11. protobuf
  12. thrift

创建于2014.12.25/更新于2016.5.16