JAVA开发工程师面试(1),java面试题,java基础笔试题,BAT


写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家。扫码加微信好友进【程序员面试学习交流群】,免费领取。也欢迎各位一起在群里探讨技术。

我已经有很长一段时间没有更新博客了,难道是博主我变懒惰了吗?哎,这样可不行啊,我还有好多知识要学习,要和大家分享。以后我需要更加努力,改掉自己的惰性。本人文采不怎么样,只能是把自己所想的说出来,想和大家一起分享知识,互相学习,丰富自己,所以在文采方面,大家多多体谅体谅。我尽可能的去写好每一篇博客,让大家方便阅读和了解。

最近我去面试了几家公司,是关于JAVA开发工程师的职位。今天我就写一写关于在面试过程中的一些问题,如果您看到了这篇博客,可能会对您面试的时候有一些帮助。

1.自我介绍

关于自我介绍这方面的内容,每一个人都有自己的介绍方式。我讲述自我介绍方式不一定适合所有人,这个只是代表我个人的看法。自我介绍就是把您给面试官的简历上面的内容的简介版,包含学历、以往公司、项目经历、证书,同时您也可以把个人兴趣爱好、性格也介绍一下,让面试官更加了解您本人,我也提醒一下在介绍自己性格的时候,你要考虑到你现在的面试职位是否与性格符合,面试官可能会抓住你的性格问题详细询问你引发出来的问题,如果你不能很好的回答这些问题的话,我建议你不要在自我介绍的时候说出自己的性格。

2.技术问题

关于技术问题的话,那就需要你有很好的技术知识和能力,这部分面试的时候是注重之重,因为这部分决定了公司是否聘你和入职后的薪资问题,下面我把面试我的一些技术问题列举出来,以供大家参考。

(1)StringBuffer类初始容量及扩容是多少?

(a)StringBuffer()的初始容量可以容纳16个字符,当该对象的实体存放的字符的长度大于16时,实体容量就自动增加。StringBuffer对象可以通过length()方法获取实体中存放的字符序列长度,通过capacity()方法来获取当前实体的实际容量。

(b)StringBuffer(int size)可以指定分配给该对象的实体的初始容量参数为参数size指定的字符个数。当该对象的实体存放的字符序列的长度大于size个字符时,实体的容量就自动的增加。以便存放所增加的字符。

(c)StringBuffer(String s)可以指定给对象的实体的初始容量为参数字符串s的长度额外再加16个字符。当该对象的实体存放的字符序列长度大于size个字符时,实体的容量自动的增加,以便存放所增加的字符。

(2)String和StringBuffer有什么区别?

(a)在这方面运行速度快慢为:StringBuilder > StringBuffer > String,

String最慢的原因:

String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但后两者的对象是变量,是可以更改的。

(b)在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的

(3)collection集合?

Collection集合(单点集合)包含:

(a)List特点:元素有序;元素可以重复;元素都有索引(角标)

Vector:内部是数组数据结构,是同步的(线程安全的)。增删查询都很慢。
ArrayList:内部是数组数据结构,是不同步的(线程不安全的)。替代了Vector。查询速度快,增删比较慢。
LinkedList:内部是链表数据结构,是不同步的(线程不安全的)。增删元素速度快。

(b)Set 特点:元素无序;元素不可以重复;

HashSet、TreeSet

注意:set不可以重复是因为值是取得Map的key,key是不能重复的。

与Collection相对应的是Map集合(键值对):

HashMap、TreeMap

(3)Spring MVC处理请求流程(详情介绍见这篇文章:https://www.cnblogs.com/javJoker/p/10486142.html

(4)HashMap是键值对的形式存储值得,如果用对象作为key,怎么比较key是否一样?

HashMap的key是个对象的话,大家都是知道判断对象是否相等,直接使用“==”操作符是不可以的,这样比较的值是它们各自的地址,而不是对象属性的值,其实String类型也是一个对象,比较两个字符串是否相等,我们使用的是对象中的equals方法。当HashMap的使用自定义对象作为key的时候,我们需要重写对象的equals方法,可以通过重写对象中的toString()方法把属性转化成字符串的形式,然后在比较字符串是否相等,同时我们也需要重写hashCode方法。String类型的底层已经重写了hashCode和equals方法。

有一篇博客详细介绍了:https://www.cnblogs.com/dolphin0520/p/3681042.html

(5)mysql中的分页查询语句中limit两个参数分别代表什么意思?

select * from table [offset,] rows | rows OFFSET offset

LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)

(6)Mybatis中#{}和${}的区别?

点击看这篇博客:https://www.cnblogs.com/zqr99/p/8094234.html

3.最后会从个人写的项目引发出一些问题进行提问。


转载:https://www.cnblogs.com/javJoker/p/8996977.html

推荐内容:
windows一键部署java项目
Java_EE面试题
java高级面试感想
Java 11 新功能来了!
java如何创建类
Java多线程面试题整理
Java线程面试题 Top 50
推荐几个IDEA插件,Java开发者撸码利器。
Java面试经
java读写串口数据

猜你喜欢

转载自blog.csdn.net/bee_wa/article/details/89444832