首页 > 【面试准备专题】第二弹-最后俩月能提升的知识清单
头像
码不停Ti2001
编辑于 2021-05-19 15:03
+ 关注

【面试准备专题】第二弹-最后俩月能提升的知识清单

往期链接
【已加精】【求职准备专题】第一弹:备战秋招即刻出发
感谢牛客网又上榜了
图片说明
写在最前面吧
这是一个纯 从自身经历和能力出发的个人分析案列
不具备普适性
个人标签
大三 - 2022届 - 双非本科 - Java后端开发
还有大家问的 最多的我文章里用的工具 xmind+滴答清单

【秋招备战计划第二弹】最后俩月能提升的知识清单

又是一个 比较庸俗的标题做开头
这一期 分享一下 秋招要准备的必备知识点
当然 仅仅是站在我自己 春招的面试经验上 得知的
看看自己哪里还有疏漏的 可以尽快 找补 搏一搏单车变摩托

本来今天早上 七点到公司想简单分享下 结果 用了一个半小时 梳理了一下知识点 感觉也不少啊
很多知识 都没有写 值罗列了 我认为 高频的 面试中问过我的
后面我应该 周末会整理一下 出一个 更精简 更高效的导图 和 讲解
应该 也会出一个 更精细 更全方面的 的知识点分析

在这里插入图片描述

笔试

选择

  • Linux
  • 操作系统
  • 计算机网络
  • 数据库
  • Java相关
  • 算法

简答

  • 其实和面试准备一样
  • 考过的

编程题

行测 性格测试

  • 我也不会 有行测的我都挂了

面试

手撕代码相关

  • 手撕算法

    • 上周考过

      • 里面的真的会考 看看不吃亏
    • 简单必考型写不上来必挂

      • 反转链表
      • 快速排序变种
      • 双指针判断链表成环
    • 动态规划

      • 只有手撕两题的时间考动规最能展示一个人的实力
  • 手撕SQL

  • 手撕设计模式

    • 单例模式跑不了

      • 懒汉单例

      • 饿汉单例

      • 线程安全

        • 加锁
        • 双重判空检测
        • volatile 防止重排序
      • 防止反射破坏

        • 枚举类
  • 手撕多线程

    • 简单的 ABAB 交替运行

      • Thread
      • runable
      • java8的 lambda表达式和stream流
    • 多线程银行存取钱demo

八股核心技术

  • Java核心技术

    • Java基础

      • 面向对象三特性
      • 不要搞混 覆盖 重载 多态
      • JDK JRE JVM 都是啥
      • 抽象类与接口
      • 注解与反射
      • 异常与错误
      • 值传递与引用
    • 三大集合

      • list

        • 链表
        • 数组
      • map

        • HashMap

          • JDK1.7与1.8区别

            • 链表红黑树
            • 头插法尾插法
          • HashMap 与 ConcurrentHashMap

            • 线程安全问题
      • set

      • 三大集合的实现类

    • 多线程

      • 线程与进程
      • 线程的状态
      • 线程池 阻塞队列
    • JVM相关

      • 内存回收

        • 回收策略
        • 回收算法垃圾收集器
      • 类加载机制

        • classloader
        • Class.forname
    • Spirng框架相关

      • IOC 和 AOP

        • 常用注解

          • @Autowired
          • @Resource
          • @Controller
          • @Service
          • @Repository
          • @Component
        • Spring的优点

          • 依赖注入 IOC控制反转
          • AOP面向切面编程
        • AOP实现

          • JDK动态代里
          • cglib
        • IOC容器初始化过程

        • Bean的生命周期

      • SpirngMVC

        • MVC框架
        • MVC的消息处理流程
      • SpirngBoot

        • 自动配置

        • 核心注解

          • @SpringBootConfiguration
          • @EnableAutoConfiguration
          • @SpringBootApplication
          • @ComponentScan
      • mybatis

        • 连接MySQL数据库

        • JDBC、MyBatis和Hibernate

        • 四大核心组件

        • 动态SQL

        • 和 $

        • 接口绑定

          • 注解绑定
          • xml映射文件
        • 缓存机制

  • 网络相关

    • 浏览器中输入一个网址如 hanxu51.cn

      • DNS域名解析
      • TCP三次握手
      • HTTP请求
      • 路由器转发
      • 服务器处理请求
      • 浏览器解析渲染
    • OSI七层协议模型

      • 应用层->表示层->会话层->传输层->网络层->数据链路层->物理层
    • TCP/IP协议

      • 应用层-》传输层-》网络层-》链路层
    • 应用层

      • http

        • HTTP Code 响应码

          • 2XX

            • 成功
          • 3XX

            • 重定向
          • 4XX

            • 请求错误
          • 5XX

            • 服务器错误
      • https

        • HTTP和HTTPS的区别
        • SSL协议
      • cookie和session

    • 传输层

      • tcp 和 udp

        • tcp

          • 三次握手以及四次挥手

            • 滑动窗口
          • 拥塞避免算法

            • 慢启动+拥塞避免
            • 快重传+快恢复
        • 应用场景

        • TCP和UDP协议的区别

      • socket相关

      • 子网掩码的求法

    • 安全相关

      • XSS跨站脚本攻击

      • CSRF跨站请求伪造

      • SQL注入

        • 预编译语句
        • 存储过程
        • 数据类型检查
  • 数据库相关

    • 数据库理论

    • 结构化SQL数据库

      • MySQL

        • MySQL索引

          • 最左前缀匹配
          • 聚簇索引和非聚簇索引
          • B树、B+树、红黑树
        • 常用存储引擎

          • InnoDB 默认

          • MyISAM

            • MyISAM表不支持事务、不支持行级锁、不支持外键
        • MySQL日志模块

          • binlog
          • redo log
        • 事务与隔离级别

          • 事务特性

            • 原子性(Atomicity):事务作为一个整体被执行 ,要么全部执行,要么全部不执行;
            • 一致性(Consistency):保证数据库状态从一个一致状态转变为另一个一致状态;
            • 隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行;
            • 持久性(Durability):一个事务一旦提交,对数据库的修改应该永久保存
          • 并发问题

            • 丢失更新
            • 脏读
            • 不可重复读
            • 幻影读
          • 隔离级别

            • 读未提交(Read Uncommitted)
            • 读已提交(Read Committed)
            • 可重复读(Repeatable Read)
            • 序列化(Serializable)
        • MySQL的锁机制

          • 表级锁和行级锁

          • 独占锁和共享锁

          • 悲观锁与乐观锁

            • 乐观锁的CAS

            • 乐观锁的ABA

              • 基于数据版本(Version)记录机制解决
          • 死锁

            • 死锁解决

              • 业务逻辑

                • 指定锁的获取顺序
                • 大事务拆分成各个小事务
                • 在同一个事务中,一次锁定尽量多的资源,减少死锁概率
                • 给表建立合适的索引以及降低事务的隔离级别等
              • 数据库配置

                • 超时时间innodb_lock_wait_timeout
                • 死锁检测主动回滚
        • SQL优化,线上故障排查

          • explain
          • 开启慢查询日志
        • 建表约束

          • 主键约束(Primay Key Coustraint) 唯一性,非空性
          • 唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个
          • 检查约束 (Check Counstraint) 对该列数据的范围、格式的限制
          • 默认约束 (Default Counstraint) 该数据的默认值
          • 外键约束 (Foreign Key Counstraint) 需要建立两表间的关系并引用主表的列
        • MVCC多版本并发控制

    • 非结构化noSQL数据库

      • Redis

        • 介绍

          • 高性能的(key/value)分布式内存数据库
          • 基于内存运行并支持持久化的NoSQL数据库
          • 支持丰富的数据类型
        • 丰富的数据类型

          • 五种基本数据类型

            • string:redis 中字符串 value 最大可为512M。可以用来做一些计数功能的缓存(也是实际工作中最常见的)。
            • list:简单的字符串列表,按照插入顺序排序,可以添加一个元素到列表的头部(左边)或者尾部(右边),其底层实现是一个链表。可以实现一个简单消息队列功能,做基于redis的分页功能等。
            • set:是一个字符串类型的无序集合。可以用来进行全局去重等。
            • sorted set:是一个字符串类型的有序集合,给每一个元素一个固定的分数score来保持顺序。可以用来做排行榜应用或者进行范围查找等。
            • hash:键值对集合,是一个字符串类型的 Key和 Value 的映射表,也就是说其存储的Value是一个键值对(Key- Value)。可以用来存放一些具有特定结构的信息。
          • 三种特殊数据类型

          • 底层数据结构

            • 简单动态字符串,链表,字典,跳表,整数集合以及压缩列表
        • redis是单线程(狭义)

          • 单线程是指网络请求模块使用了一个线程

            • 基于内存实现,完全内存计算
            • 单线程操作,避免了线程上下文切换操作
            • 多路I/O复用的线程模型,实现了一个线程监控多个IO流,及时响应请求
            • redis对外部的依赖比较少,属于轻量级内存数据库
          • 复合操作来说,还是需要锁的,而且有可能是分布式锁

          • IO多路复用

        • 四大问题

          • 缓存雪崩

            • 海量数据
          • 缓存击穿

            • 热点数据过期
          • 缓存穿透

            • 查询没有的数据
          • 一致性问题

            • 双删延时的解决办法
            • 更新数据库产生的binlog订阅(使用canal)
        • 持久化方式

          • RDB(快照方式 snapshotting)(全量持久化)
          • AOF(append-only-file)(增量持久化)
          • 持久化策略选择
        • 数据的过期回收策略与内存淘汰机制

        • 主从复制机制

          • 哨兵
        • 分布式系统CAP思想

          • C:Consistent 一致性
          • A:Availability 可用性
          • P:Partition tolerance 分区容忍度
          • 网络分区:分布式系统的节点往往都是分布在不同的机器上进行网络隔离开的,这意味着必然会有网络断开的风险,网络断开也就意味着发生了网络分区。
          • 最终一致性:Redis可以保证最终一致性,从节点会努力追赶主节点,最终从节点的状态会和主节点的状态将保持一致。
        • 事务

          • 隔离性不中断
          • 事务内命令序列化
  • 操作系统相关

    • 操作系统基础知识

      • 内存管理
      • 多线程相关
    • Linux命令相关

      • 基础

        • ls,cat,vim,cp,mv
      • 查看

        • grep,awk,top,ps,sed,sort,tail,head
      • 其他命令行工具

        • maven相关
        • git相关
  • 框架相关

    • springboot
    • mybatis
  • 系统设计

    • 设计模式

      • 工厂
      • 单例
      • 动态代理
    • 分布式

    • 缓存

    • 消息队列

    • 具体应用

      • 红包
      • 秒杀
      • 扫码登录
      • 短网址

项目经历相关

其他的我再补充吧 写了两个多小时七点写到九点多了 我要去吃早饭了
最后说一下 资料准备的多与少 根本不重要 而是看自己学了多少 学的多学的少 消化了 才是自己的

之前在学校社团的时候 自己整理了一些资源分享汇总
大家感兴趣的话后面有空可以 专门拉一个博客分享一下
在这里插入图片描述

在这里插入图片描述

CS-Notes 我看的最多

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

全部评论

(15) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

热门推荐