当前位置 博文首页 > flysening的博客:计算机基础知识汇总 (java语言+数据结构与算

    flysening的博客:计算机基础知识汇总 (java语言+数据结构与算

    作者:[db:作者] 时间:2021-07-30 11:56

    ? ? ??https://github.com/frank-lam/2019_campus_apply? 这里面包含大佬总结的所有的知识点。

    ? ? 研发岗位考察知识点多,无论C++岗位还是java岗位,考察知识点除语言之外,都相同。笔者看过牛客网很多面经,收获很大总结一下几点 。复习重点从前到后递减。

    ? ? ?1? 数据结构与算法。 无论实习还是秋招,无论科班还是非科班,无论算法还是研发,都逃不过数据结构与算法,数据结构与算法作为程序员的基本功,是非常重要的。复习方法。剑指offer+leetcode。剑指offer66题的重要性已经不用多说了,剑指offer刷完两到三遍,再把书过一遍,熟记于心,无论笔试还是面试手撕代码应该没问题。推荐视频慕课网算法视频+牛客网算法视频。推荐书籍(算法第四版)。一般压轴常考题型(背包问题,矩阵链乘,最长上升序列,最长公共子串)

    • 剑指OFFER的各个题目是最常见的,即使不是原题也是题目的变体,因为面试不像笔试,一般不会出特别困难的题目,所以剑指OFFER上小而精的题目就非常适合。建议手刷一遍。PHP的同学可以参考专栏剑指OFFER
    • 二叉树相关(层次遍历、求深度、求两个节点距离、翻转二叉树、前中后序遍历)
    • 链表相关(插入节点、链表逆置、使用链表进行大数字的加减,双向链表实现队列、寻找链表中的环)
    • 堆(大量数据中寻找最大N个数字几乎每次都会问,还有堆在插入时进行的调整)
    • 排序(八大排序,各自的时间复杂度、排序算法的稳定性。快排几乎每次都问)
    • 二分查找(一般会深入,如寻找数组总和为K的两个数字)
    • 两个栈实现队列。
    • 图(深度广度优先遍历、单源最短路径、最小生成树)
    • 动态规划问题。
    • 深入
    • 红黑树性质
    • 分治法和动态规划的区别
    • 计算时间复杂度
    • 二叉树和哈希表查找的时间复杂度
    • 栈和链表是面试算法的时候经常用到的工具,多考虑怎么用数据结构的性质解决,因为面试不像笔试,对基础数据结构关注的比较多一些,一般问题也比较简单。然后取模也是常用的工具(比如有一次问怎么让100个进程按规定的权重被调用,就可以用取模的方式)。
    • 面试官一般会先出简单的问题,然后深入地问下去,最好是根据他的思路走,因为能听懂他的提示也是需要考察的能力。

    ? ? 2 语言,这里主要分java和C++,其他语言后台开发应该比较少(可能笔者见识少),这里讲讲java语言。java基础知识总结见笔者博客java基础知识总结,复习方法,保证基本语言功底前提下,多看博客,多刷题,多总结。推荐书籍? java核心技术卷I,? java核心技术卷I,深入理解java虚拟机(必看),java并发编程艺术。

    ? ? 3 计算机网络? 。计算机网络作为笔试常考题之外,面试也是被问及最多。推荐书籍 图解HTTP ,图解TCP/IP,推荐视频网站? 中国MOOC。刷题:牛客网。常考知识点汇总。

    • 基础部分
    • TCP报头格式
    • UDP报头格式
    • TCP/UDP区别(不仅是宏观上的,最好能根据各自的机制讲解清楚)
    • HTTP状态码(最好结合使用场景,比如在缓存命中时使用哪个)
    • HTTP协议(一些报头字段的作用,如cace-control、keep-alive)
    • OSI协议、TCP/IP协议以及每层对应的协议。
    • SESSION机制、cookie机制
    • TCP三次握手、四次挥手(这个问题真的要回答吐了,不过真的是面试官最喜欢问的,建议每天手撸一遍,而且不只是每次请求的过程,各种FIN_WAIT、TIME_WAIT状态也要掌握)。
    • 打开网页到页面显示之间的过程(涵盖了各个方面,DNS解析过程,Nginx请求转发、连接建立和保持过程、浏览器内容渲染过程,考虑的越详细越好)。
    • http和https区别,https在请求时额外的过程,https是如何保证数据安全的
    • IP地址子网划分
    • POST和GET区别
    • DNS解析过程
    • 深入部分
    • 13. TCP如何保证数据的可靠传输的(这个问题可以引申出很多子问题,拥塞控制慢开始、拥塞避免、快重传、滑动窗口协议、停止等待协议、超时重传机制,最好都能掌握)
    • 14. 地址解析协议ARP
    • 15. 交换机和路由器的区别

    ? ? 4 操作系统。常考知识点。

    • 内存的页面置换算法
    • 进程调度算法
    • 进程间通信方式
    • 进程线程区别
    • 进程之间的通信
    • 父子进程、孤儿进程
    • fork进程时的操作,

    ? 5 数据库?

    ? ?推荐书籍 Msql必知必会,高性能Mysal ,

    ? 6 linux

    ?推荐视频:鸟哥私房菜

    ?7 项目

    ?牛客网中级项目+高级项目+设计模式+spring技术内幕+深入理解java技术内幕

    最后,在单项知识点个个击破之后,看面经,总结面试常考问题,总结五十篇面经,基本面试官的问题应该都会,常考的问题记忆加背诵加理解。当然不用忘记最重要的是剑指offer,刷题,刷题,刷题。提前复习,提前准备。提前准备。(笔者也是菜鸡,以上纯属面经总结)

    cs