• 欢迎来到达内Java培训官网

电话:400-996-5531

美国上市公司,专注Java培训22年

java要学到什么程度才能胜任工作


Java作为面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用的两个特征。也正是由于其简单性、可移植性、安全性、动态性等特点,Java成为了服务器端的顶梁柱,保护着网站的一方安全。既然Java语言这么优秀,那么,如果想要以java去找工作,一个Java初学者要学多少Java知识,才能找到第一份Java工作呢?

首先我们先要了解一下在工作过程中需要用到的java基础知识有哪些:

1、synchronized static修饰类和方法有什么区别?

2、HashMap的原理,底层数据结构,rehash的过程,指针碰撞问题?

3、HashMap的线程安全问题,为什么会产生这样的线程安全问题?

3、ConcurrentHashMap的数据结构,底层原理,put和get是否线程安全?

5、Java IO的一些内容,包括NIO,BIO等?

如果以上的基础知识大家能够运用自如,也就是说工作过程中做一些基本的事情还是可以的,但是是远远不过的,如果想要在工作过程中有自己的一席之地还是要学会以下几点,才能够勉强进入企业工作。

一、Java线程池的构造方法,里面参数的含义,以及原理:

1、volatile和ThreadLocal解决了什么问题

2、CAS在Java中的具体实现

3、Java虚拟机的构成,以及一个Java对象的生命周期,还有堆栈和方法区中存储的内容

4、JVM的GC过程,包括一些实际问题的分析,比如说明一个现象,让你分析可能是什么原因会导致这样的问题,应该如何对JVM参数进行调优

5、synchronized和Lock的区别,以及底层实现原理

6、 Full GC和Minor GC触发的条件

7、 GC Roots的选择

8、 jmap,jstat,jstack等的使用场景,MAT等

9、ClassLoader的加载过程

10、CountDownLatch、CyclicBarrier和Semaphore等

11、Java 8 的新特性等

二、数据库:这里的数据库包含两种,一种一般是MySQL,另外是NoSql数据库,包括Redis、MongoDB等。一般会问的问题有:

1、inner join和left join等的区别

2、SQL调优,explain,profile等

3、InnoDB和Myisam的区别

4、ACID

5、数据库的事务隔离级别,以及他们分别能解决什么问题

6、Redis的几种数据结构

7、Redis是单线程还是多线程

8、Redis的持久化

9、悲观锁和乐观锁的含义

10最左前缀索引,索引的数据结构,聚簇索引等(这块还没搞明白)

三、框架

因为spring是我们常用的框架,所以这块的内容会问的比较多,也会比较细。

1、Spring的两大特性(IoC和AOP)

2、Spring的bean的生命周期

3、Spring是如何解决Bean的循环引用问题的

4、AOP的两种实现方式,以及两者的区别(这里其实使用了动态代理,具体动态代理分为两种,一种是JDK的动态代理,主要使用的是JDK的反射,还有一种是CGLib,两者区别可以自己搜索,文章比较多)

5、AOP一般的使用场景

6、Spring的事务原理

MyBatis:这块问到的比较简单些:

1、$和#的区别

2、MyBatis和Hibernate的区别

3、源码,一般问的比较少

Dubbo:因为平时自己用到了Dubbo,所以这块会有问到:

1、RPC的原理

2、Dubbo是如何完成远程调用的

3、Dubbo如何进行调优

4、Dubbo的通信协议

5、Dubbo是如何实现负载均衡的

ZooKeeper:

1、ZK的使用场景

2、ZK的选举机制

3、ZK的节点类型

4、一致性Hash原理

数据结构和算法:

这块的内容是基础,如果面试官怀疑你的能力,一般一会问到这部分内容,比如树的遍历、快速排序等。

linux:

一般会问一些命令的使用,然后会举一个实际的场景,让你用命令去排查问题,这块自己不是很熟,需要尽快加强。

随着java的普及,懂Java的人越来越多,企业也会对求职者提出更高的要求,他们更希望招聘一些马上能上手工作的,所以倾向于招聘一些有项目开发经验的,这也是为什么那么多的大学计算机专业毕业的大学生找不到工作的原因,所以越来越多的大学生才会选择毕业前后参加一些专业的Java培训班来增加实战经验。只有增加自我实力才能出于不败之地。


【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,如涉及作品内容、版权和其它问题,请在30日内与我们联系,我们会予以重改或删除相关文章,以保证您的权益!

Java开发高端课程免费试学

大咖讲师+项目实战全面提升你的职场竞争力

  • 海量实战教程
  • 1V1答疑解惑
  • 行业动态分析
  • 大神学习路径图

相关推荐

更多
  • Java设计模式和应用场景?
    Java设计模式和应用场景?
    Java设计模式和应用场景?Java设计模式是软件工程中常用的一套问题解决方案,它们可以帮助开发者提高代码的可读性、可维护性和可扩展性。设计模式通常分为创建型、结构型和行为型三种类型。下面是一些常见的设计模式及其应用场景: 详情>>

    2024-06-24

  • Java主流框架都有哪些?
    Java主流框架都有哪些?
    Java主流框架都有哪些?Java作为一门历史悠久的编程语言,拥有众多成熟且广泛使用的框架,这些框架极大地简化了软件开发过程,提高了开发效率。以下是一些主流的Java框架: 详情>>

    2024-06-24

  • C++和Java哪个更值得学?
    C++和Java哪个更值得学?
    C++和Java哪个更值得学?C++和Java都是非常流行和强大的编程语言,它们在不同的应用领域和环境中都有广泛的使用。选择学习哪种语言更值得,取决于你的个人兴趣、职业目标和项目需求。下面是两者的比较,以帮助你做出决定: 详情>>

    2024-06-24

  • Java前端和后端的区别
    Java前端和后端的区别
    Java前端和后端的区别?Java作为一种广泛使用的编程语言,其在软件开发领域中的应用非常广泛。在Java的生态系统中,前端和后端的区分与大多数编程语言一样,主要基于开发的角色和工作内容的不同。 详情>>

    2024-06-24

  • Java开班时间

    收起