java基础知识点面试(java基本知识面试题)

http://www.itjxue.com  2023-03-05 21:51  来源:未知  点击次数: 

JAVA面试:项目中,你负责哪几个模块?实现什么功能?用了哪些技术?介绍一下你的项目开发流程?

要说清楚这个问题,得要看你有没有真正去做一些东西。就算没有亲自做,那也要有自己的理解,要不然是不能自圆其说的。

举个例子,就说比较常见的OA项目,一般会有文件柜的功能。

这个功能实现用户上传和下载文件到自己的网络文件夹里面(实际上就是服务器里面),那么一般来说就要实现增删文件夹、上传下载文件、树形显示目录结构(是否带复选框)、管理目录权限等功能。而上传下载或许又分单文件、多文件和目录。目录权限又有允许所有人增删或部分人增删或只能查看等等,如果是部分人,怎么指定。如果是部分权限,怎么指定。

使用技术嘛,这个就比较简单了,用了什么就说什么。比如Ajax、EXT、Hibernete、Struts等等。。

开发流程就说开始怎么设计,基于什么考虑这么设计,主要是技术了解程度和时间安排方面。后来或许进行了更改,又是为什么。可以从数据结构到为何才用某种技术。

当然,描述的时候没必要这么详细,捻重要的、自己熟悉的说,主要是能让面试的人感受到你描述的东西就是你做的,你很了解整个过程。技术不必描述太深,主要是开发思想。

谁帮我总结下java中的知识要点 和易错点 要系统的

下面简单列举一下学习java的一个系统知识点的一些介绍():

一:java基础部分:java基础的时候,有些知识点是非常重要的,比如循环系列。For,while,do-while.这方面只要用心点基本没什么难点。

二:面向对象:oop面向对象的时候,偏重理论,相信这方面的文章也很多,可以多看看,在这就不说了。重点掌握面向对象的三大特征和基本原理。

三:java核心一:这方面主要偏重API,所以在学习了这章的时候,一定要对照API去学习,多看API,主要就是方法多,string和集合的方法最为重要。

四:java核心二:主要讲解了异常,线程和IO流,其实个人认为重点掌握线程就行,对于流和异常多写就行,线程偏重理论也最为重要。

五:oracle数据库方面:建议学习数据库的时候一定要端正态度,数据库极为重要,本人当时在学习这个的时候,一直以为数据库只是为了增删改查,故没有认真学习,后期面试的时候吃了不少亏,因为现在软件公司对数据库的要求跟java一样重要,基本都会单独一张笔试题笔试数据库。

六:JDBC/XML系列:JDBC主要是3个核心接口(Connection) (Statement) (ResultSet)的使用,在学习的时候,熟练运用3接口,jdbc的原理也相当重要,虽然后期学习了HIbernate之后,JDBC不需要再用,但其底层原理还是JDBC,而且现在很多软件公司不一定会用到Hibernate框架,所以建议还是把“本”学好,XML:重点掌握解析互换的2个核心接口方法。

七:HTML/CSS/JS:对于这个,本人相当纠结,因为这个有点偏向于美工的意思,所以后期想从事后台开发的同学一般不会太重视,但是现在都是web项目,而且很多软件公司并不是把许多这方面的事情交给美工(除非是那种有很高要求的静态页面),而且现在html代码都是在jsp里面写,所以建议还是好好学学,因为公司不会让一个美工去专门为你写一些简单的html代码,包括js!这章其实不难,就是属性方法知识点比较多,多记记,多写写,重在多练!

八:Servlet/Jsp:如果想从事web和b/s开发(现在基本都是web和b/s开发),这章极为重要,服务器的访问以及配置。tomcat的使用都在这一章,虽然后期struts框架的学习简化了servlet代码的繁琐性,但是你可知道现在有些公司只用servlet不用struts!即使用了框架技术也不一定是struts!servlet跟JDBC一样都是“本”,而struts和Hibernate一样都是封装了它们而后简化代码而已。所以只有把“本”学会了,就不怕框架的变化!jsp就不多说了,如果你学习java这个就不会缺少!后期b/s项目页面的布局以及功能就全靠它了。

九:Ajax/Jquery:当初学习这个的时候,本人没有用心去学,然后结果就是本人在进公司之后花了一个星期的时间练习jQuery!这个对于强化web服务器页面的功能技术实在是强大.这个封装了js对象的技术,可以对jsp页面元素进行样式的更改以及操作,想要玩好web项目,这个技术必须玩好!

十:SSH:传说中的三大框架;

Struts:前面已经提到,这个框架技术主要是为了弥补servlet和jsp页面之间交互的复杂性,可以有效的提高客户端与服务器之间的交互。而且采用了MVC思想进行改善减弱代码之间的复杂性。

Hibernate:主要封装了jdbc的核心功能,可以采用映射方式访问并操作数据库,一定程度上讲是简化了程序代码,但前面已经提到,由于是框架,而框架是随着时代而改变的,并且很多公司不一定用到这个框架,所以,只有掌握好JDBC的根本原理,才会更加理解这个框架。

Spring框架:其实后期学框架知识大家都会觉得很无趣和乏味,因为框架的知识都是理论很深的知识点,spring主要是要完善代码之间的耦合度,包括类似工厂模式的对象自动控制,AOP的事物日志管理等,都其实是为了减少程序员的工作量,但不得不说是有很大的作用的,而且这个框架可以整合JDBC以及Hibernate,struts技术,可以把所有的框架技术都整合在一起。相当于一块主板把内存,风扇,cpu,显卡都集中在一起。

面所有的都是个人学习之中的一点感受,希望你也能有所感触,主要想说明的是前面的基础一定要打好,对于学习方法的问题也可以和大家聊一聊,本人在学习之

初,由于面向对象和集合一些理论较深的知识点出现,导致后期比较注重理论,最终在写实际项目的时候吃了苦头,因为代码量没有跟上,即使理论都懂,但很多功

能还是无法自己写出,所以要强调的是在注重理论的情况下一定要多写代码,我的建议是在理论比较深刻的知识点面前,比如面向对象,集合,线程这些知识,多看

点理论,而对于html,css以及API方法比较多的知识点的情况下,多写代码。总之,各50%最好!当然,这就需要大家付出更多的时间和精力辛苦勤劳下了!其实java的学习还是要多练代码,多思考,举一反三,任何的知识点只要你认真的去做,没有拿不下的顽石,勤能补拙,相信自己,然后用功,你就胜利了。

下面为提供部分本人整理的笔记:

String的核心方法:

字符串转换整数:Integer.parseInt(字符串变量);

整数转换字符串:String.valueOf(整型变量)

日期转字符串:new SimpleDateFormat().format(date类型)

返回字符串元素的字符长度:length()方法

Int IndexOf(String a),在字符串元素中检索a字符,返回第一个出现的下标位置。

Int indexOf(String a,int fromIndex ),从formIndex位置开始检索字符串,找到之后的a字符。

Char charAt(int

index):用于返回字符串index位置的字符.

Substring(begin,end):返回子字符串

valueOf(Object):返回Object参数的字符串表示形式。

toUpperCase():返回字符串的大写形式。

toLowerCase():返回小写形式。

StringBuilder核心方法:

StringBuilder:性能好,非线程安全.

Append(String s):追加字符串。

Insert(3,”String”)插入字符串

Delete(int start,int

end):删除字符串。

Replace(int start,int

end, String s):替换字符串

Reverse():字符串反转.

集合核心方法:

Boolean isEmpty():判断集合是否为空

Size():判断集合里面元素的个数

Boolean Contains(Object):判断集合元素中是否包含Object元素.

Clear():清空集合。

Boolean Add(Object):向集合中添加元素,返回是否添加成功.

Boolean

remove(Object):从集合中删除元素。

Iterator

iterator():迭代元素。

增强for循环:for(Point p:list):遍历list,每次循环从list中取出一个元素赋值给p.

List单独的方法:

get(index):得到index下标的集合元素.

Set(index,元素o):设置index处的元素为元素o,前面的元素将被覆盖,并且方法返回的值是前面的元素。

Add(index,元素):在指定下标index添加元素

Remove(index):删除指定下标的元素值

List:定义线性表数据结构.

ArrayList:动态数组方式,适合随机访问对象.

LinkedList:链表方式,适合于插入和删除.

subList():用于获取子List,获取的List与原List占有相同的存贮空间,操作会影响原List.

ListE subList(int 开始下标,int 结束下标);

作为一个面试官,我会问初级java工程师哪些问题?

初级java工程师多数是刚毕业或者工作1,2年的新人。对于新人,面试中基础问题会问道很多,因为先要考察这个人的基础。

关于基础类的题目,我在面试初级java工程师的时候一般会问下面两大类问题,每类5个题目,这样下来我就基本可以了解这位工程师的程度了。

java基础类

面向对象基础类

java基础类

1.描述一下java的访问修饰符,和它们之间的区别?

回答:如果可以回到出public,private,protected,就算是ok;回答出default的,加分。

2. int和Integer 区别?

回答:如果回答出Integer是int的包装类,就算ok;回答出其他的基本类型和它们相应的包装类,加分。

3.如何定义一个单精度浮点类型的变量?

回答:float 变量名=1.2f ;回答出不加最后的f为双精度浮点类型,加分

4. equals和==的区别?

回答: equals是值比较(一般处理java开发都会这么说,算是ok的)而==是引用比较(或者对象比较);回答equals是可以自定义的,加分

5.将一个数组作为参数传递到一个方法中,在方法中,数组内的元素值被改变了,那么在方法外部,这个数组内的元素是否也被改编了?

回答:是,因为java方法中传递的是引用,就ok。如果回答中,将引用说明了自己的理解,加分。

面向对象基础类

1.重载和重写的区别?

回答:这个看个人理解,理解没有什么大的偏差就ok;回答出多态相关的,加分。

2.构造方法能不能重载?

回答:可以重载,ok;回答构造方法时不能继承的,所以如果要调用指定父类构造器就必须重写子类构造方法,加分。

3.抽象方法(abstract)是否可以被final、static、native修饰?

回答:都不可以,因为抽象方法是必须子类实现的,final方法时不可以被重写的,static是父类必须实现的方法,native是本地语言实现的方法。回答出封装和继承相关的,加分

4.当父类引用指向子类对象的时候,子类重写了父类方法和属性,那么当访问属性的时候,访问是谁的属性?调用方法时,调用的是谁的方法?

回答:访问的是父类的属性,调用的是子类的方法,ok;如果可以画图解释的话,加分

5.抽象类和接口有什么异同?

回答:一些类定义上的区别,ok;回答在应用过程中,如何根据业务定义接口,加很多分

最后,如果前面问题回答的不错,会补充两个编程习惯问题。

1.在你写过的代码中,你写过超过2层的循环吗,怎么实现的?

回答:没有,就算ok;如果回答有,听一下实现,如果原因说不出来,扣分。

2.在你写过的代码中,if语句最多嵌套了几层,最多有多少分支,怎么实现的?

回答:3层以下,就算ok;如果回答3层以上,听一下实现,如果原因说不出来,扣分。

4,5个分支,就算ok;如果回答5个分支以上,听一下实现,如果原因说不出来,扣分。

最后两个题其实比较陷阱,但是正是一个反向的思考才能了解面试者之前的工作状态。

如果面试者在平日里就有好的习惯,自然不用担心。

java基础知识有那些

Java 程序设计基础,包括 J2sdk基础、Java面向对象基础、Java API使用、数据结构及算法基础、Java AWT图形界面程序开发;

J2SE平台Java程序设计,包括Swing图形程序设计, Socket网络应用程序设计,对象序列化,Java 常用数据结构,Applet,流和文件,多线程程序设计;

………………………………

看你问的问题,应该是对java很感兴趣,其实你可以自学java。关于如何学习java,我刚才看到一篇很不错的文章,是一个农民工介绍自己如何自学java,并找到Java的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。

我是一名地地道道的农民工,生活在经济落后的农村,有一个哥哥和一个弟弟,父母都是地道的农民,日出而作,日落而息,我从小到大学习一直很好,从小学到高一都,成绩在全级一直名列前茅,这样我也顺利了考上省的重点高中,然而,每个学期开学是家里最为难的时候,每次交学费都让父母发愁许久,家里为了给我筹钱读书,都借了不少钱,才让我读上高中。我知道我读到高中家里已经欠了好多债,为了减轻家里的负担,我选择了退学。

2009年我高一退学,为了给家里还债,干过建筑工地的小工,搞过塑料制品加工,送水工等等。很工资都很低,一个月也就1000多,加上加班费一个月能拿2000多一点,我每个月都向家里寄回800-1000元,到了2011年末,一次偶然的机会我接触了Java,听说Java的前景挺不错,工资相对于我一个农民工来说简直是天文数字,于是我在新华书店买了几本Java的书,尽管白天辛苦工作,晚上回来还是坚持看书,但有于基础太差很多都很不明白,但还是坚持看,一有看1-2个小时Java的书,看着看着许多基础都慢慢的学会了,但那些比较难的还是看不懂,后来还买了有些关于框架的书,还是看不懂,这样断断续续的持续了半年多,觉得自己Java的基础都差不多懂了,但框架还是看不懂,还有最缺的项目经验,看了很多招聘Java程序员的简介都要项目经验,相对我一个农民工来连框架都弄不明白,想找一份Java工作对我来说简直是奢侈。我只想学Java,并不敢想以后能从事Java的工作。

有一次,在百度上看到一篇让我很鼓舞的文章,是一个Java高手介绍在没有基础的朋友怎么自学入门Java,文章写的很好,包含了如何学习,该怎么学习,他提到一个方法就是看视频,因为看书实在太枯燥和费解的,不少是我们也看不懂,这点我真的很认同,我自己看书都看了很久才学会基础。曾经有想过参加培训,但是上万元的培训费让我望而却步,我工资这么低,每个月还有向家里汇钱,加上城市消费比较高,虽然每个月只有几百剩下,但是相对于上万万学费和四个月的吃住费用逼我连想不敢想。 于是我决定看视频,我就去搜索Java的视频,虽然我零星的找到一些Java的视频,但是都不系统。最重要连项目都没有。后来我找到一份很好的视频,是IT学习联盟这个网站一套视频叫零基础Java就业班(喜欢《零基础Java就业班》的可以复制 t.cn/8sx5z6L 粘贴浏览器地址栏按回车键即打开)的教程还不错,很完整。还赠送11个顶级企业项目。价格很合理,于是我买下来。

于是开始了我的自学Java的路,收到光盘后,我就开始学习,刚开始学习还不错,是从零基础教起,老师幽默风趣而又轻松的课堂教课,使我发现原来学习JAVA并不是一件很难的事情。因为我本来基础还不错,前面的基础看一篇我就过去了,到了框架,我觉不又不是很难,可能老师太牛了,他能把复杂的问题讲的比较通俗易懂,有些难点的地方我还是连续看了五六次,把他弄懂。每天下午6点下班后,吃了饭,马上跑回家。看视频,买了几本笔记本。当时,为了编程还花几百元了台二手的台式电脑,配置一般,但编程是足够的。一边看视频,一边记笔记,把重点都记下来,还一边跟着老师敲代码,为了能尽早学会Java。每天都坚持学5-6个小时。经常学到晚上一点多才睡觉。星期六,日不用上班,每天7点多起床,学到晚上11,12点。那段时间特别辛苦,特别累。在学习Java的三个多月里,除了吃饭睡觉工作,剩余的时间都在学习,因为我知道自己的计算机基础不是很好,也没有学过什么计算机,只是学了些Java基础,相对于那些科班的人来说我要比他们付出更多的努力。我只能咬紧牙关,坚持下去,我不能放弃,我要完成我的梦想,我要让我的家人过上好日子。终于三个多月后我把Java教程里的内容和项目都学完了,在学项目的过程中我发现项目特别重要,他能把你学过的知识全部联系起来,能更好的理解你所学的知识。还有学习过程中,动手很重要,要经常跟着老师动手敲,动手吧,跟着做,一行一行的跟着敲,再试着加一些自己的功能,按照自己的思路敲一些代码,收获远比干听大的多。 如果遇到暂时对于一些思路不能理解的,动手写,先写代码,慢慢你就会懂了。这套视频还赠送了11个顶级企业项目,对于我没有任何经验的人来说,这个太重要了,还有在学习项目是提升能力最快的方法。项目能把所有的知识点全都连到一起了,不再是分散的,而是形成一个整体了。那种感觉是仅仅深入钻研知识点而不写真实项目的人所不能体会的。一个项目就是一根绳子可以把大片的知识串到一起。 就这样,我用了两个月也把项目给学完了。其实学完教程差不错就达到就业水平,但是我可能觉得自己学历低还是把那11个顶级企业项目才去找工作。

接着我就到51job疯狂的投简历,因为我的学历问题,初中毕业,说真的,大公司没有人会要我。所以我头的都是民营的小公司,我希望自己的努力有所回报。没有想过几天后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比价严格,需要有一年的项目经验,所以我没有被选中。 后来陆续面试了几加公司,终于功夫不负有心人,我终于面试上了一家民营的企业。公司规模比较小,我的职务是Java程序员。我想我比较幸运,经理看中我的努力,就决定吕勇我,开的工资是3500一个月,虽然我知道在北京3500只能过温饱的生化,但是我想我足够了,比起以前的工资好了些,以后可以多寄些钱回家。我想只要我继续努力。我工资一定会翻倍的。 把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有自卑,我们不比别人笨,只有我们肯努力,我们一样会成功。

…………………………………………

《Java面试全解析核心知识点与典型面试题》pdf下载在线阅读全文,求百度网盘云资源

《Java面试全解析核心知识点与典型面试题》百度网盘pdf最新全集下载:

链接:

?pwd=gesc 提取码:gesc

简介:500道Java常见面试题+10万字核心知识解析丰富的Java技术栈:基础和框架,线程池和锁优化,SpringBoot和分布式消息队列,数据结构和常用算法,设计模式和JVM等。 ?

程序员小白如何通过Java面试?

1. 努力学习Java知识:为了能够通过Java面试,程序员小白首先需要努力学习Java基础知识,包括Java语法、面向对象编程思想、泛型、集合、多线程、IO流、数据结构、算法等。

2. 加强实践:学习完Java基本知识之后,程序员小白需要加强实践,多编写一些小程序来实践,以此来检验自己学习的知识是否正确。

3. 掌握数据结构与算法:在准备面试的过程中,程序员小白还需要掌握数据结构和算法,这些基础知识会让一个程序员变得更强。

4. 熟悉Java框架:要想通过Java面试,程序员小白也需要熟悉常用的Java框架,如Spring、Hibernate、Struts2等,这些框架也是面试经常考查的知识点。

5. 掌握设计模式:设计模式是Java程序员很重要的知识点,因此程序员小白在准备面试的时候也要学习常用的设计模式,这样才能应对面试官的提问。

(责任编辑:IT教学网)

更多

推荐综合特效文章