zoukankan      html  css  js  c++  java
  • 知识点 从零开始

    一、java基础
    1、语法
    • 基本数据类型,自动装箱
    • static用法
    • 常用关键字用法
    • 数据计算的一些问题
    • 一些数据类型、常用工具类的使用,以及对并发的支持
    • 简单的算法:快速排序、冒泡排序等
    2、集合
    • util包下list、set、map集合的使用,以及底层实现,重点:ArrayList底层实现,扩容方式;HashMap的底层实现,数据结构特征,加载因子,哈希计算,扩容;
    • concurrent包下的集合、队列,基本都要了解,常用的要熟悉其用法、底层实现,以及和util包下集合的区别;重点:ConcurrentHashMap底层实现,和HashMap的区别,内部使用的是什么锁;CopyOnWriteArrayList底层实现,和ArrayList的区别,如何做到线程安全的;
    • 什么样的场景用什么数据类型合适,主要关注两点:数据模型、并发场景
    3、多线程
    • 常用控制线程方法的用法,wait、notify、sleep等
    • 并发包下的类都要了解下,常用的要知道具体的实现;重点:锁、线程池、并发集合、队列等,以及Semaphore、CountDownLatch、CyclicBarrier、FutureTask等的作用和使用方式
    • 隐式锁Synchronized,用法,特征,持有的锁的区别(类、对象),能否重入锁,怎么造成死锁
    • 显式锁Lock,用法,特征,和Synchronized的区别,常用的实现类;主要考察ReentrantLock类,用法,锁的释放,锁住的是什么,能否重入锁
    • 读写锁ReadWriteLock,用法,特征,应用场景;主要考察读写锁的,可多线程读,或一个线程写,读和写的动作只能有一个发生
    • 线程池,主要考察ThreadPoolExecutor,初始化线程池有几个参数?每个参数的作用分别是什么?线程池启动的时候干了什么?等待的任务在哪里等待?等待任务的队列有容量大小吗?等待的队列放满了会发生什么?有什么解决办法?(可设置任务等待的队列,使用有界或无界队列,针对队列饱和可设置饱和策略)
    • 设计一个高效高并发的序列缓存
    4、设计模式
    • 常见的设计模式,解决什么问题
    • 工作中用到的设计模式,以及应用场景、解决问题
    5、jvm
    • 类加载机制,类加载器
    • 内存模型,堆、栈的知识点(存放内容,作用,如何运行等)
    • 垃圾回收机制,垃圾回收算法,触发full GC的条件
    • jvm调优,jdk的参数配置,以及参数的作用,jvm性能如何监控
    二、框架
    1、Spring
    • ioc:实现原理,设计思想,解决问题
    • aop:原理,如何使用,应用场景;代理的实现方式,以及区别
    • 事务的隔离级别和传播机制
    • spring对事务是如何控制的?重点:使用aop控制事务,aop需要生成代理类,所以就意味着开启事务必须要在调类的方法才会开启事务,由一个方法调用当前类的一个方法是无法开启事务的;
    2、SpringMVC
    • SpringMVC的实现原理,从入口到mvc的拦截器,到工程的Controller,再到视图层以及对视图层的渲染、数据填充等,要了解大概的流程
    • SpringMVC的优势,以及常用的注解
    3、Mybatis
    • 底层原理;解析xml生成Mybatis定义的对象,命名空间区分不同的对象,使用代理模式,访问对应的对象,调用对应的方法
    • Mybatis的使用,一些常用字符的作用以及区别,如何实现动态sql
    4、Status2
    • 原理
    • 与SpringMVC的区别
    5、Hibernate
    • 原理、特性
    • get、load等,缓存、懒加载、关联、hql等
    • 和Mybatis的区别
    三、微服务
    Spring Cloud
    • 微服务的优势、作用
    • Spring Cloud的常用组件,注册中心的原理,负载均衡的模式,熔断器的作用和应用场景,网关的作用以及针对各个访问类型的拦截器,等等
    • Spring Cloud的分布式事务如何控制;主要解决方案:刚性事务、柔性事务、MQ事务控制、TCC的分阶段事务控制等,微服务的分布式事务没有很完美的解决方案,要根据业务的使用场景设计事务的控制方式,MQ事务控制一般不用,XA的事务控制性能低下且不支持MySQL
    • 使用Spring Cloud遇到的问题有哪些?说出其解决方案。
    四、数据库
    • sql的书写,一般会考察分组、关联查询等
    • 索引的使用,什么情况下失效,联合索引的使用方式
    • sql优化,问题排查
    五、其它
    1、redis
    • 支持的数据类型,及其特征
    • 事务的使用
    • 超时时间的设置
    2、MQ
    • 原理(不用非常详细,了解大概)
    • 模式,生产者和消费者、订阅模式(广播)
    • mq的事务模式
    • mq遇到重复消费、消息丢失的解决方案
  • 相关阅读:
    Idea debug报错Command line is too long
    云计算与虚拟化入门通识
    yield from语法
    python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
    python模块中sys.argv[]使用
    SQLAlchemy中Model.query和session.query(Model)的区别
    MAN VGEXTEND
    Python---基础---dict和set
    Python---基础---元组
    Python---基础---list(列表)
  • 原文地址:https://www.cnblogs.com/yasong/p/9229209.html
Copyright © 2011-2022 走看看