那个经常出去面试的同事,月薪23k

两年前,和同事小T一起进入了公司的Java开发部门。
看代码了解情况、查询数据库到做个小功能,我通过这个流程我慢慢熟悉公司的开发套路,个把月后开始接触其他复杂功能。
就在我还为平均工资奋斗的时候,无意间听到小T的月薪已经上了23k,好奇和羡慕驱使我赶忙向他请教一二。
原来这一年里受疫情影响,在家办公的他经常抽空向各大公司投offer、约面试。
“倒也不是为了跳槽,就是想快速了解一下现在的行业标准。”
他表示大厂的HR一定程度上就是技术要求的风向标,自己就对照着要求缺啥补啥。
掌握了前沿的业务能力,接触项目的时候也是多了一分得心应手,和老板谈薪也有了一点筹码。
撇开简历设计和面试准备不谈(当然你如果好奇这部分内容可以关注我们并查看早期文章,我们都提供了相关意见)
小T罗列了以下面试Java岗位需要掌握的知识点:

■ 包、内部类与外部类

包允许将类组合成较小的单元(类似文件夹),使得找到和使用相应的类文件更容易。所以一般编译后的结构是跟包结构一模一样的,这样的结构保证了import时能找到正确的class引用包。import一般加上全路径,并且使用.*时只包含当前目录的所有类文件,不包括子目录。内部类可以有全部访问权限,因为它的概念就是一个成员变量,所以访问权限设置与一般的成员变量相同。外部类只有public和default两种修饰,要么全局可访问,要么包内可访问。非静态内部类是外部类的一个成员变量,只跟外部类的实例有关。静态内部类是独立于外部类存在的一个类,与外部类实例无关,可以通过外部类.内部类直接获取Class类型。

■ Object类和Class类

Object类和Class类没有直接的关系。Object类是一切java类的父类,对于普通的java类,即便不声明,也是默认继承了Object类。典型的有Object类中的toString()方法。Class类是用于java反射机制的,一切java类,都有一个对应的Class对象,他是一个final类。Class 类的实例表示,正在运行的 Java 应用程序中的类和接口。

■ javac和java

javac可以将java源文件编译为class字节码文件,如 javac HelloWorld.java。java 可以运行class字节码文件,如 java HelloWorld。

■ 反射

Java反射包reflection提供对Class,Method,field等信息的封装类型。
它赋予jvm动态编译的能力,失去反射类的元数据信息只能用静态编译的方式实现。反射是Java中最强大的技术之一,应用范围广,很多优秀的开源框架都是通过反射完成的,比如大部分最初的注解框架。后来因为java反射影响性能,所以被运行时注解APT替代了。

■ 动态代理

通过实现 InvocationHandler 接口创建自己的调用处理器。通过为 Proxy 类指定 ClassLoader 对象和一组 interface 来创建动态代理类。通过反射机制获得动态代理类的构造函数,其唯一参数类型是调用处理器接口类型。通过构造函数创建动态代理类实例,构造时调用处理器对象作为参数被传入。

■ 多线程

多线程是从软件或者硬件上实现多个线程并发执行的技术。这里用几道面试真题更好说明相关知识点:

01现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对“join”方法是否熟悉。

02在java中wait和sleep方法的不同?
最大的不同是在等待时wait会释放锁,而sleep一直持有锁。Wait通常被用于线程间交互,sleep通常被用于暂停执行。

03Java中的volatile关键是什么作用?怎样使用它?在Java中它跟synchronized方法有什么不同?
自从Java 5和Java内存模型改变以后,基于volatile关键字的线程问题越来越流行。应该准备好回答关于volatile变量怎样在并发环境中确保可见性。

04为什么我们调用start()方法时会执行run()方法,为什么我们不能直接调用run()方法?
当你调用start()方法时你将创建新的线程,并且执行在run()方法里的代码。但是如果你直接调用run()方法,它不会创建新的线程也不会执行调用线程的代码

05在Java中CycliBarriar和CountdownLatch有什么区别?
CyclicBarrier可以重复使用已经通过的障碍,而CountdownLatch不能重复使用。

Java作为一门随时代快速发展的计算机语言程序,涉及生产生活的各领域、多方面。随之衍生出不计其数的知识点,这里只是简单罗列几点仅做抛砖引玉的作用,希望大家对自我的及时学习引起重视。
现在关注我们,就可在后台回复「面试题库」领取大厂的Java岗位面试真题哦。
学习,什么时候开始都不算晚。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值