Java程序员面试题-2

你还在头疼,不知道怎么解决Java面试题么,没有核心,回答抓不住重点,总是无法随心所欲把控面试进程,跟着我一步步解决Java面试题问题,一切都不是问题,加油!有一点,需要注意的是:记住答案的同时,要理解答案,回答的时候也要尽可能完全匹配!

我们抓住五一小长假的小尾巴,相信不少伙伴也充分利用了这个五一假期的时间,进行了充分学习。我们今天直奔主题,开始面试题的进一步深入,上期我们留了一个作业,问:什么是抽象类?抽象方法只能在抽象类中么?

:从定义开始,抽象类

抽象定义:在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。

特征定义

(1)在Java中,用abstract 关键字来修饰一个类时,这个类叫作抽象类。

(2)抽象类是它的所有子类的公共属性的集合,是包含一个或多个抽象方法的。

(3)抽象类可以看作是对类的进一步抽象。

(4)在面向对象领域,抽象类主要用来进行类型隐藏。

样例:推荐参考菜某(需要了解的直接问我要)

同样:抽象类不一定有抽象方法;但是包含一个抽象方法的类一定是抽象类,且抽象方法一定在抽象类中。(有抽象方法就是抽象类,是抽象类可以没有抽象方法)

很多同学都会迷糊,但是一定要区分清楚,如果想要了解更多,评论区留言,我一般都是留下的最容易问到的点,然后需要了解抽象类的应用场景以及应用方式(抽象类是用来捕捉子类的通用特性的,是被用来创建继承层级里子类的模板)。

好的,接下来是今天的三个问题:

【1】Java的八大基础数据类型,String是不是?

Java的基础类型有 8 种:byte、boolean、char、short、int、float、long、double,而 String 属于对象,不属于Java的基础数据类型哦,切记。最基础的内容,一般也会在一开始就问,不会太难,但是一定要牢记于心。

【2】Java 中操作字符串

操作字符串的类有:String、StringBuffer、StringBuilder

同异:

(1)String 和 StringBuffer、StringBuilder 的区别在于: String 声明的是不可变的对象,每次操作都会生成新的 String 对象,然后将指针指向新的 String 对象,而 StringBuffer、StringBuilder 可以在原有对象的基础上进行操作,所以在经常改变字符串内容的情况下最好不要使用 String

(2)StringBuffer 和 StringBuilder 最大的区别在于,StringBuffer 是线程安全的,而 StringBuilder 是非线程安全的,但 StringBuilder 的性能却高于 StringBuffer,所以在单线程环境下推荐使用 StringBuilder,多线程环境下推荐使用 StringBuffer

【3】session 的工作原理

一个存在服务器上的类似于一个散列表格的文件。里面存有需要的信息,在需要用的时候可以从里面取出。

类似于一个大型的map,里面的键存储的是用户的sessionid值,用户向服务器发送请求的时候会带上这个sessionid,这时就可以从中取出对应的值了。

还有不少同学存疑,说为什么只提供三题,为什么不提供三十题,三百题?很多时候,你会发现你做了很多面试题,真到面试的时候,你该不会的还是不会,或者面试官再深入问你问题的时候,你根本无法回答,导致紧张,更容易失误。我总结的面试题都是之前遇到过的,希望能帮到大家。关于面试的小技巧,我这边为大家罗列了一下几点:

第一,面试官问你的题目,你要很流利的知道这是属于哪个模块的内容,至于如何做到,那就是吃透每天我提供的题目,也许你看到我给到的答案并不多,但是你可以发散去搜更多内容,举例session的工作原理,其实就和定义差不多,那session怎么用,session的应用场景,session在整个项目中的地位是什么样的等等,这一系列你都可以发散去查,别人给到你的永远就只是资料,甚至你要主动思考,会不会是不完善的资料,当你能够自己说服自己的时候(面对镜子,问自己相关技术点,发散问,不会的,那就去查,学习本来就是这样,哪里不会查哪里,解决哪里,需要注意的是判断一下自己想的内容是否是核心内容,会不会被人问),那你面试的基础关一定就不会有问题了。

第二,面试的时候,面试官一般都是抱有一定目的性的,分析对方的目的,你才能胸有成竹去应对,比如你要面试测试岗位。首先你肯定读了所有的岗位需求内容等等,这个时候你要做的事就是把这些岗位需求找到核心点吃透,你既然不是一个完全都懂的,那么你至少在一个方面要有优势,甚至你懂的比面试官更多,这样面试官对你会有一种摸不透的感觉,也会抱有一丝期待。(这个环境后续可以单独分一个小节来讲)

最后,面试是有时间限制的,不仅仅是你,面试官也是,不会花太多时间的,那就是在最短的时间展示自己的才能。我把最后一个核心说一下,跟着我学习,还有一个点,不是为了面试而去了解,更多的是真正掌握这些我说的技术点,在工作中会应用到,否则尽管你面试成功,没有实力后面也会被优化掉。所以,好好加油,把每个细节吃透,剩下的交给有经验的我,和勤奋的你自己。

今日作业

额外问题来了,你在开发经历过程什么时候用到过session呢?可以举个实际例子吗?你对session有过总结么?比如,优缺点是?怎么充分利用其优点,避免其缺点

其实线上的资源很多很多,但是,你要注意的点是:(1)要尽可能选择简单的资源,不要过于冗杂,这个就需要大佬的总结了,或者经常面试的人的总结,这才是可靠的,同学们也能记得住的内容(2)要落地去沉淀,不要停留在嘴上。

记得完成作业!评论区留言,你还觉得哪些面试题,你觉得至今还不知道答案的?我来为你解答~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值