all

作者: 杜子龙 | 来源:发表于2020-08-14 20:16 被阅读0次

    算法与数据结构

    常见算法类型

    排序算法(冒泡、插入、选择、快排、希尔、堆排、归并、桶排、基数、计数)、字符串操作、数组操作、递归、回溯、分治、动态规划等

    常用数据结构

    链表、栈、队列、树(二叉树、平衡二叉树、红黑树、B树、B+树、哈夫曼树、字典树)、跳表、图

    推荐书籍

    《大话数据结构》适合入门学习

    《剑指offer》必刷66题

    《算法导论》尽量看,能啃完就是大神

    计算机网络

    网络相关的东西不是很多,关键在于对常见网络协议簇的认识和理解,以及一些常规操作底层设计实现的剖析。比如:

        | 输入www.baidu.com会发生什么
    
        | 微信扫描登录会发生什么
    

    重点掌握知识点

    OSI七层模型

    TCP/IP五层模型

    TCP/IP协议总结

    TCP、UDP区别

    TCP三次握手、四次挥手

    TCP状态转换

    TCP状态中TIME_WAIT

    TCP连接建立需要为什么不是两次握手

    TCP第三次握手失败会出现什么

    TCP长连接和短链接及优缺点

    TCP拥塞控制-慢启动、拥塞避免、快重传、快启动

    TCP如何保证可靠性传输

    TCP如何解决粘包、拆包问题

    TCP为什么可靠

    UDP如何实现TCP可靠传输

    IP地址和子网掩码

    ARP解析过程

    DNS原理

    HTTP状态码

    HTTP1.0、HTTP1.1、HTTP2.0区别

    HTTP和HTTPS区别

    HTTPS加密过程

    非对称加密和对称加密算法

    Nagle算法

    推荐书籍

    《计算机网络自顶向下方法》教材书,可放手边查阅

    《TCP/IP详解》重点了解TCP、IP、UDP协议实现

    数据库

    重点掌握

    数据库类别

    关系型数据库和非关系型数据库区别

        MySQL:
    

    SQL常见语句

    MySQL内链接,外链接(左链接、右链接、全链接)

    MySQL索引类型和原理

    MySQL事务实现原理ACID

    MySQL数据存储引擎

    MySQL主从复制原理、作用和实现

    MySQL日记系统redo log、binlog、undo log

    MVCC实现原理

    Sql优化思路

    范式理论

    数据库高并发解决方法

        Redis:    
    

    Redis支持的数据类型

    Redis持久化

    Redis 架构模式

    主从复制

    一致性哈希算法

    推荐书籍

    《高性能 Mysql》能够加深对Mysql的理解和使用

    《Redis设计与实现》比较全面的书,可以多看看

    操作系统

    操作系统的问题会集中在进程和线程,但是这一类的问题往往会以开放题的形式出现。主要考察的是对操作系统组件以及运行过程的理解。比如:

    | 开机登录系统发生了什么?
    
    | 复制粘贴是怎样操作的?
    

    重点掌握

    物理内存和虚拟内存

    缓存IO和直接IO

    作业调度算法

    线程和进程

    进程和线程的调度

    线程的创建和结束

    线程状态

    线程间通信与线程同步机制

    互斥锁和信号量

    线程池

    消费者和生产者

    死锁

    并发和并行

    推荐书籍

    《深入理解计算机系统》很全面的书,这一本就够用了

    Linux系统

    Linux系统操作和命令

    top命令

    ps命令

    netstat命令

    awk命令

    find命令

    grep命令

    wc命令

    sed命令

    head和tail命令

    正则表达式

    如何查找出现频率最高的100个IP地址

    linux如何统计文件中某个字符串出现的频率

    linux启动的第一个进程

    linux查看端口占用

    linux查看CPU和内存使用

    Linux查看系统负载命令

    Linux调试程序

    Linux硬链接和软连接

    core dump

    cmake和makefile

    Shell脚本基本语法和使用

    推荐书籍

    《鸟哥私房菜》入门足够了,多敲多写才能更快掌握

    Linux网络编程

    重点掌握

    孤儿进程、僵尸进程和守护进程

    进程间通信方式signal、file、pipe、shm、sem、msg、socket

    线程同步机制线程:互斥量、锁机制、条件变量、信号量、读写锁

    fork返回值

    五大IO模型:阻塞I/O、非阻塞I/O、I/O复用、信号驱动I/O、异步I/O

    IO复用机制

    epoll与select/poll

    LT水平触发和ET边缘触发

    Reactor和Proactor模式

    反向代理、负载均衡

    推荐书籍

    《UNIX环境高级编程》APUE 比较难啃,可以挑着看

    《Unix网络编程》UNP 同样比较难啃,可以挑着看

    《Linux多线程服务器端编程》Muduo网络库,推荐看看源码实现

    《深入理解Nginx》深入了解基于C的web服务器实现

    另外

    海量日志处理和并行计算开发

    分布式技术框架、中间件等 Dubbo、Spring Cloud 、Zookeeper 、Kfaka

    流媒体分发技术CDN

    网络库,可参考Muduo或者Nginx实现

    web服务器/http服务器,可实现基本的http响应请求和处理

    简易版STL库,展现C++的综合代码能力

    局域网聊天室开发,涉及到网络编程实现在线群聊

    分布式日志系统

    简易版数据库设计

    可参考一些C++常用库,造一些轮子或者做些有趣的小工具。

    相关文章

      网友评论

          本文标题:all

          本文链接:https://www.haomeiwen.com/subject/bgendktx.html