学习流程与学习目标

学习流程

1. 学完java基础、javaEE、数据库等等
2. 看一些求职面试必备书籍(书单列表见JAVA进阶学习)
3. 刷算法
4. 在实际求职准备中,大部分是交叉进行的。因为长时间一直做一件事情很容易烦/暴躁,所以交叉学习、合理安排时间非常重要。

——————!次年七月份一定要掌握的学习目标!——————

学习目标

下面列举出的考点都是面试重点,你在面试中将会遇到下面90%以上的问题

java语言基本使用能力

——面向对象特性
——类、接口、抽象类区别
——重载、重写区别
——JDK8新特性、JDK容器源码:HashMap、ArrayList、LinkedList、AQS、ConcurrentHashMap等
——JDK concurrent包下的源码
——java虚拟机:内存模型、gc、类加载、异常的分类和排查
——设计模式(最好找到JDK或者spring等框架中中对应场景)
——排序算法
——Object中的方法
——如何排查OOM
——如何判断死循环
——违反双亲委派模型的案例
——java反射和CGLIB原理以及异同
——阻塞队列的源码(要求手写实现,重点)
——创建对象的四种方式

javaEE

——get、post的区别
——request头
——response头
——这块问题大多和你的项目有关,session和cookie、SSM框架,spring源码(能看多少是多少,一定会问)
——spring解决了哪些问题、spring的IOC,AOP,spring事务、spring bean
——springMVC生命周期,一个完整的http请求包括哪些流程、https访问流程:加密解密(对称加密和非对称加密)
——servlet生命周期
——项目如何考虑分布式问题

多线程并发

——synchronize特性、volatile特性、JMM中的原子操作(read、load、use;assign、store、write)、countDownLatch和CyclicBarrier异同点
——线程池参数、类型
——如何让多个线程有序运行
——生产者消费者等
——创建线程的三种方式
——进程和线程之间的区别
——进程见间通信的方式
——会写简单的sock通信代码
——IO 操作
——如何让多个线程顺序执行

数据库

——mysql索引底层实现:B+树
——索引失效场景/原因
——SQL优化
——SQL注入等相关web安全问题
——MySQL主从复制
——Redis常用数据结构(能看一两数据结构源码最好)
——Redis集群
——Redis分布式锁
——持久化AOF、RDB
——Redis应用场景、解决了什么问题、秒杀系统
——基本SQL语句、ACID、隔离级别、MVCC、行锁和表锁等

linux

——虚拟内存、查看某个进程使用的内存、cpu、查找某个文件、查找某个大文件中的关键字所在位置
——查看磁盘使用
——用户空间和内核空间的区别
——linux常用命令
——chmod,ps,top,grep,linux软硬链接、权限等等
——另外,有的公司也会问:select、poll和epoll异同。

系统设计

——给定一个现实场景,让你完成对应系统的设计
——keep:如何实现360的开机时间
——百度:实现QQ通信,问的很细,包括协议
——度小满:秒杀系统设计

计算机网络

——OSI七层模型、经典五层模型
——tcp三次握手四次挥手、流量控制和拥塞控制、tcp和udp区别、如何解决很多个tcp连接处在time_waiting状态等等
——一定要能画出三次握手和四次挥手的状态图,以及记住每个状态的名字

算法

——牛客网,一共66道题,要达到提到上面任何一道题你都立刻就能给出解题思路以及手写出代码实现。也就是得刷多遍

——LeetCode上的Top100,登录LeetCode->problems这是可以看到大概800多道题按编号排列;最右边可以找到“Top 100 Liked Questions”这就是上面那100道题的入口

——大部分面试的算法都是这两个地方的原题,一定要刷题,一定要!!!

分布式

——zookeeper及其应用场景
——zookeeper可以解决绝大部分面试中的分布式问题:高可用、分布式读写锁、分布式共享锁、分布式队列等等。所以感觉学习zookeeper性价比很高。

以上内容整理于——公众号“菜鸟名企梦”“ 程序员乔戈里”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值