栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

面试必知必会

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

面试必知必会

面试
  • 手撕代码相关
    • 手撕算法
    • 手撕SQL
    • 手撕设计模式
  • 八股核心技术
    • Java核心技术
    • 网络相关
    • 数据库相关
    • 操作系统相关
      • 操作系统基础知识
      • Linux命令相关
  • 参考链接

手撕代码相关 手撕算法
  • 上周考过

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

        1. 反转链表
        2. 快速排序变种
        3. 双指针判断链表成环
    
  • 动态规划
    只有手撕两题的时间考动规最能展示一个人的实力

手撕SQL
  • 牛客在线SQL编程 80题
    • 80题
手撕设计模式
  • 单例模式跑不了

    • 懒汉单例

    • 饿汉单例

    • 线程安全

      • 加锁
      • 双重判空检测
      • 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
    网络相关
  • 浏览器中输入一个网址如 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相关
参考链接

https://www.nowcoder.com/home

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/288040.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号