说实话python和java各有各的优点,经过python这几年的快速发展,现在的市场其实很明朗了,python其实更加适合于爬虫机器学习人工智能领域,但是java还是偏向于工程性的领域,所以领域不同不会出现谁取代谁一说,到底学哪一个比较好,这个要看你自己的规划,你将来想走哪一条路,确定完了之后再去考虑如何学的问题。

因为我是学习java的,所以我整理了一套学习路线,希望对你有帮助。学习路线汇总​mp.weixin.qq.com

阶段一:数据结构

一、基础

1、基本的数据结构

(1)基础概念

(2)数组

(3)链表

(4)栈

(5)队列

2、树

(1)哈夫曼树

(2)平衡二叉树

(3)红黑树

(4)B树、B+树

(5)LSM树

3、图

(1)最小生成树

(2)最短路径算法

(3)拓扑排序

4、排序

(1)选择排序

(2)冒泡排序

(3)插入排序

(4)快速排序

(5)归并排序

(6)希尔排序

(7)基数排序

(8)java中的排序工具

(9)排序算法的特点总结和性能比较

二、中级

1、KMP算法

2、布隆过滤器

3、并查集

4、符号表

5、汉诺塔

常见的面试题总结:

1、手写排序算法,比较他们之间的性能

2、解决hash冲突的方法

3、字符串和二叉树的手写实现

最主要的就是手写代码。对于每一种数据结构和算法,都要能够手写实现

阶段二:java基础

1、常见的集合类

(1)基础类型和封装类

(2)String

(3)System

2、关键字

(1)transient

(2)instanceof

(3)final

(4)static

(5)this

(6)super

(7)void

3、高级

(1)泛型

(2)枚举

(3)异常

(4)注解

(5)泛型

(6)反射

(7)进制

(8)编码转化

4、集合类

(1)总体框架

(2)Collection

(3)ArrayList

(4)fail-fast原理

(5)LinkedList

(6)Vector

(7)Stack

(8)HashMap

(9)TreeMap

(10)LinkedHashMap

(11)HashSet

(12)TreeSet

5、其他

(1)String为什么不可变

(2)java8新特性

(3)java9、10、11、12新特性

(4)== 和 equal的区别

(5)HashCode方法的作用

(6)创建对象的几种方式

每一个知识点不仅仅是机试中的重点,也是面试中的重点

对于java基础知识,复习的方法就是在你学完了上面的知识点之后,在牛客网等网站一天几十道题进行训练。然后进行错题总结

阶段三:设计模式

1、创建型模式

(1)工厂方法模式

(2)抽象工厂模式

(3)单例模式

(4)建造者模式

(3)原型模式

2、结构型模式

(1)适配器模式

(2)装饰模式

(3)代理模式

(4)外观模式

(5)桥接模式

(6)组合模式

(7)享元模式

3、行为型模式

(1)策略模式

(2)模板模式

(3)观察者模式

(4)迭代子模式

(5)责任链模式

(6)命令模式

(7)备忘录模式

(8)状态模式

(9)访问者模式

(10)中介者模式

(11)解释器模式★★☆ 设计模式的作用。

★★★ 手写单例模式,特别是双重检验锁以及静态内部类。

★★★ 手写工厂模式。

★★★ 理解 MVC,结合 SpringMVC 回答。

★★★ 理解代理模式,结合 Spring 中的 AOP 回答。

★★★ 分析 JDK 中常用的设计模式,例如装饰者模式、适配器模式、迭代器模式等。

阶段四:java虚拟机

1、java内存结构

2、垃圾回收

3、类加载机制

4、内存分配和回收策略

5、java中的四种引用

6、jvm调优(时机、原则、目标、步骤、参数)

7、内存溢出(原因、例子、解决方式)

全是重点

阶段五:操作系统

1、操作系统的基本特征

2、进程与线程的本质区别、以及各自的使用场景。

3、进程的几种状态。

4、常见的进程同步方式和线程同步

5、进程通信方法的特点以及使用场景。(分为windows和linux,以及共有的)

6、进程任务调度算法的特点以及使用场景。

7、死锁的原因、必要条件、死锁处理。手写死锁代码。java是如何解决死锁的。

8、线程实现的方式。

9、协程的作用。

10、内存管理的方式:段式、页式、段页式。比较他们的区别

11、虚拟内存的作用,分页系统实现虚拟内存原理。

12、页面置换算法的原理,特别是 LRU 的实现原理,最好能手写,再说明它在 Redis 等作为缓存置换算法。

13、分析静态链接的不足,以及动态链接的特点。

可以看书进行总结,不过这里已经整理好了。

阶段六:Linux

一、基础

1、Linux目录结构

2、Linux常见命令

3、Linux文件系统管理

4、Linux用户系统管理

5、Linux进程管理

6、Linux高效的文本文件处理命令

二、中级

1、Linux网络管理

2、Linux加密解密原理以及数据安全

3、Linux系统备份和恢复

4、shell编程

常见的面试题总结:

1、常见命令的考察,推荐指数:。

2、 僵尸进程与孤儿进程的区别,从 SIGCHLD 分析产生僵尸进程的原因

3、 硬链接与软链接的区别。

4、 僵尸进程与孤儿进程的区别,从 SIGCHLD 分析产生僵尸进程的原因

常见问题链接地址:

1、46个Linux面试常见问题送给你

2、39条常见的Linux系统简单面试题

阶段七:网络

1、基础知识

(1)五层协议(各自的作用)

(3)物理层(集线器、交换机、路由器作用、以太网特点以及帧结构)

(4)数据链路层

(5)传输层

(6)传输层

(7)应用层

(8)HTTP

2、socket

(1)阻塞式IO

(2)非阻塞式IO

(3)复用IO

(4)信号驱动IO

(5)异步IO

(6)五大IO模型比较

3、序列化

(1)java序列化

(2)protoBuf

(3)ProtoStuff

(4)avro

4、Netty

(1)基本案例

(2)粘包问题解决

(3)编码问题解决

(4)实时通信问题解决

(5)源码分析

5、远程调用

(1)rmi

(2)thrift★★★ 各层协议的作用,以及 TCP/IP 协议的特点。

★★☆ 以太网的特点,以及帧结构。

★★☆ 集线器、交换机、路由器的作用,以及所属的网络层。

★★☆ IP 数据数据报常见字段的作用。

★☆☆ ARP 协议的作用,以及维护 ARP 缓存的过程。

★★☆ ICMP 报文种类以及作用;和 IP 数据报的关系;Ping 和 Traceroute 的具体原理。

★★★ UDP 与 TCP 比较,分析上层协议应该使用 UDP 还是 TCP。

★★★ 理解三次握手以及四次挥手具体过程,三次握手的原因、四次挥手原因、TIME_WAIT 的作用。

★★★ 可靠传输原理,并设计可靠 UDP 协议。

★★☆ TCP 拥塞控制的作用,理解具体原理。

★★☆ DNS 的端口号;TCP 还是 UDP;作为缓存、负载均衡。

★★★ GET 与 POST 比较:作用、参数、安全性、幂等性、可缓存。

★★☆ HTTP 状态码。

★★★ Cookie 作用、安全性问题、和 Session 的比较。

★★☆ 缓存 的Cache-Control 字段,特别是 Expires 和 max-age 的区别。ETag 验证原理。

★★★ 长连接与短连接原理以及使用场景,流水线。

★★★ HTTP 存在的安全性问题,以及 HTTPs 的加密、认证和完整性保护作用。

★★☆ HTTP/1.x 的缺陷,以及 HTTP/2 的特点。

★★★ HTTP/1.1 的特性。

★★☆ HTTP 与 FTP 的比较。

★★☆ 五种 IO 模型的特点以及比较。

★★★ select、poll、epoll 的原理、比较、以及使用场景;epoll 的水平触发与边缘触发。

阶段八:并发基础

1、基础知识

(1)线程的概念以及案例

(2)Thread生命周期状态

(3)Thread构造函数

(4)java内存模型

(5)线程通信

(6)sleep和wait的区别

(7)synchronized

(8)volatile

(9)ThreadLocal

2、原子包

(1)AtomicInteger

(2)CAS原理

(3)AtomicBoolean

(4)AtomicStampedReferece

(5)Unsafe

3、并发工具

(1)CountDownLatch

(2)CyclicBarrier

(3)Semaphore

(4)Exchanger

4、锁机制

(1)ReentrantLock

(2)ReenReadWriteLock

(3)StampedLock

(4)ForkJoin

(5)Phaser

(6)AQS原理

5、线程池

(1)Excutor

(2)Future&Callable

(3)CompletionService

(4)ExcutorService

(5)ThreadFactory

(6)CompleteableFuture

6、并发容器

(1)ConcurrentHashMap

(2)ConcurrentSkipListMap

(3)ConcurrentSkipSet

(4)ConcurrentLinkedQueue

(5)CopyOnWriteArrayList

(6)BlockingQueue

1、一共35个知识点,但是实际可能会更多,基本上都是重点,面试常考点

阶段九:微服务架构

1、servlet

(1)servlet的生命周期

(2)API(get和post区别、forward和redirect区别)

(3)JSP和servlet的比较

(4)四种会话跟踪技术

(5)request对象的主要方法

(6)cookie和session的比较

2、Srping

(1)Spring架构(七大模块概述)

(2)Spring上下文和容器

(3)Spring加载机制

(4)SpringBean探秘

(5)AOP与代理

3、SpringMVC

(1)SpringMVC架构与流程

(2)DispatcherServlet的实现

(3)每一控制器的流程解读

4、Springboot

(1)SpringBoot入门

(2)整合其他技术

(3)打包部署

(4)actuator监控

(5)源码分析

5、SpringCloud

(1)服务注册与发现Eureka

(2)客户端负载均衡Ribbon

(3)声明式Rest调用Feign

(4)容错机制Hystrix

(5)服务网关Zuul

(6)配置中心Apollo

(7)负载均衡算法

Spring常见面试题

SpringMVC常见面试题

阶段十:分布式架构

1、基础

(1)CAP理论

(2)BASE理论

2、框架

(1)Dubbo服务治理

(2)Zookeeper协调

(3)Nginx

Spring常见面试题

SpringMVC常见面试题

阶段十一:数据库

1、Mysql

(1)UML图

(2)Mysql基本操作

(3)视图、函数、存储过程、变量、事务、流程控制、游标、权限管理

(4)索引

(5)查询性能优化

(6)存储引擎的比较

(7)切分:水平和竖直,sharding策略和问题

(8)复制:主从复制和读写分离

2、Redis

3、MongoDB

4、ElasticSearch

5、中间件:AQ、RQ、Kafka

6、JDBC

7、Mybatis

8、fastDFS

9、Mycat★★★ B+ Tree 原理,与其它查找树的比较。

★★★ MySQL 索引以及优化。

★★★ 查询优化。

★★★ InnoDB 与 MyISAM 比较。

★★☆ 水平切分与垂直切分。

★★☆ 主从复制原理、作用、实现。

★☆☆ redo、undo、binlog 日志的作用。

★★☆ 字典和跳跃表原理分析。

★★★ 使用场景。

★★★ 与 Memchached 的比较。

★☆☆ 数据淘汰机制。

★★☆ RDB 和 AOF 持久化机制。

★★☆ 事件驱动模型。

★☆☆ 主从复制原理。

★★★ 集群与分布式。

★★☆ 事务原理。

★★★ 线程安全问题。

阶段十二:工具

1、git

2、日志

3、测试Junit

4、Docker

5、Tomcat

6、正则表达式

7、Maven

8、k8s

阶段十三:安全

1、Shiro

2、对称加密

3、数字签名

4、Base64

5、Tomcat

6、正则表达式

7、Maven

8、k8s

阶段十三:面试算法题

将不断的完善

/>

python和java哪个好学-学Python 好还是java 好?相关推荐

  1. 学Java好还是学Python好?这里有些建议

    最近,总有一些IT小白在论坛贴吧知乎上问:没有任何基础,问是学习Java好还是学Python更合适?对于小伙伴们的问题,小千觉得有必要仔细解析一二,以免更多小伙伴步入误区! 首先,在选择学习Java编 ...

  2. python自学多久可以找到工作-自学Python的高效方法,学Python多久能找到工作?

    原标题:自学Python的高效方法,学Python多久能找到工作? 相信有了解的人都知道,Python目前是首选的AI语言,在数据科学和AI中占据主导地位,而且随着互联网的发展,Python的应用越来 ...

  3. python自学步骤-零基础学Python应该学习哪些入门知识及学习步骤安排

    众所周知,Python以优雅.简洁著称,入行门槛低,可以从事Linux运维.Python Web网站工程师.Python自动化测试.数据分析.人工智能等职位!就目前来看,Python岗位人才缺口高达4 ...

  4. python要学多久可以找到工作-自学Python的高效方法,学Python多久能找到工作?

    原标题:自学Python的高效方法,学Python多久能找到工作? 相信有了解的人都知道,Python目前是首选的AI语言,在数据科学和AI中占据主导地位,而且随着互联网的发展,Python的应用越来 ...

  5. python少儿趣味编程 pdf-趣学python编程

    python最大优点是开源,优于JAVA,我学Python时不到三个月就出了20多程序,赚了不少钱,我叫塞班狂,你在百度搜索下就可以看到,我是PYTHON for symbian的.不是windows ...

  6. python ai 教学_【Python AI教学】从零开始学Python AI开发系列01

    原标题:[Python AI教学]从零开始学Python AI开发系列01 欢迎开启新的旅程. 从2016年开始,AI人工智能的热潮扑面而来.而在机器学习和深度学习领域,Python位于最受欢迎的编程 ...

  7. 【python教程入门学习】学python要多久,0基础学python有多难

    学python要多久,0基础学python有多难,这是很多想学习python语言同学绕不开的问题,都害怕花完钱最终没有应有的回报!对于毫无经验0基础的同学来说学习python什么最重要,方向选对坚持下 ...

  8. 学好python需要哪些基础_学Python要避免哪些坑,如何巩固好基础

    学Python要避免哪些坑?零基础怎么入门Python?Python入门简单.语法简洁.功能强大,非常适合零基础入门IT行业的人学习.随着人工智能时代的来临,企业纷纷选择使用Python进行开发,Py ...

  9. python对电脑配置要求-学python对电脑配置有要求么

    python对于电脑硬件基本没什么要求,下载python安装程序的时候,注意看下自己电脑属性是64位系统还是32位系统,再下载对应的python安装程序. 单纯学Python的话普通电脑就ok了,机器 ...

最新文章

  1. c#算两个火星坐标的距离(高德or百度)
  2. GitBook使用教程
  3. 使用Apache来构建URL缩短服务
  4. Redis面试题答案整理
  5. 使用SVN钩子运行PHP更新服务器代码的注意事项
  6. koa --- 使用koa-multer和element-ui组件上传头像
  7. 不用安装Oracle Client如何使用PLSQL Developer
  8. 如何调整HOOK的跳转指令
  9. Java ObjectInputStream registerValidation()方法与示例
  10. ASP.NET Core介绍
  11. tipask mysql调取dedecms_如何实现dedecms外部数据库调用
  12. MySQL主从同步(二)——M-S架构配置实战
  13. 修改Code Blocks默认代码格式
  14. python速学_60分钟Python快速学习(给发哥一个交代)
  15. win7原版iso镜像下载 windows7官方原版全系列(正式版、专业版、企业版、家庭版)下载
  16. TeeChart Pro VCL,提供高性能图表
  17. Python乒乓球小游戏源代码
  18. 中国农业银行计算机专业笔试题,中国农业银行笔试题库
  19. 【收山之作】我手上所有GALGAME 游戏资源封装工具下载
  20. 计算机垃圾桶桌面,电脑桌面比垃圾桶还乱?一分钟轻松快速整理你的电脑桌面...

热门文章

  1. 类和对象编程(三):构造函数析构函数
  2. Qt之HTTP——发送HTTP请求
  3. 数据挖掘:模型选择——逻辑回归
  4. 【BZOJ1951】古代猪文(CRT,卢卡斯定理)
  5. JAVA设计模式(08):结构化-飞锤(Flyweight)
  6. nyoj 309 bobsledding 即河南省第四届大学生程序设计大赛第七题
  7. HDU2572 终曲【字符串匹配】
  8. ACM程序设计基础题解
  9. CCF NOI1138 高精度加法
  10. 代码健壮性的获得 —— 借助编译器及语言的语法特性