think in java interview-高级开发人员面试宝典(八)
source link: https://blog.csdn.net/lifetragedy/article/details/10363489
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
面经出了7套,收到许多读者的Email,有许多人说了,这些基础知识是不是为了后面进一步的”通向架构师的道路“做准备的?
对的,你们没有猜错,就是这样的,我一直在酝酿后面的”通向架构师的道路“如何开章。
说实话,我已经在肚子里准备好的后面的”通向架构师的道路“的内容自己觉得如果一下子全拿出来的话,很多人吃不消,因为架构越来越复杂,用到的知识越来越多,而且很多都是各知识点的混合应用。
所以,先以这几套面经来铺路,我们把基础打实了,才能把大楼造的更好。因为,一个架构师首先他是一个程序员,他的基础知识必须非常的扎实,API对于架构师来说已经不太需要eclipse的code insight(即在eclipse编辑器里打一个小点点就可以得到后面的函数),尤其是一些常用的JAVA API来说,是必须熟记于心的。
下面我们继续来几天面经,顺带便复习一下JAVA和数据库的一些基础。
Java IO流的复习
大家平时J2EE写多了,JAVA的IO操作可能都已经生疏了,面试时如果来上这么几道,是不是有点”其实这个问题很简单,可是我就是想不起来“的感觉啊?
JAVA的IO操作太多,我这边挑腾迅,盛大和百度的几道面试题,并整理出答案来供大家参考。
InputFromConsole
这个最简单不过了,从console接受用户输入的字符,如和用户有交互的命令行。
如果你不复习的话,嘿嘿,还真答不出,来看:
ListDir
列出给出路径下所有的目录,包括子目录
咦,上面这个程序只列出了一层目录,我们想连子目录一起List出来怎么办?
ListMyDirWithSubDir
InputStreamDemo
从外部读入一个文件
OutputStreamDemo
讲完了InputStream来讲OutputStream,输出内容至外部的一个文件
这个Demo里分别用了”writeWithByte“和 ”writeWithByteArray“两种方法,注意查看CopyFile
我们讲完了InputStream和OutputStream,我们就可以自己实现一个File Copy的功能了,来看
运行后显示:来看我们被Copy的这个文件的大小:
也不大,怎么用了7秒多?
原是我们没有使用Buffer这个东西,即缓冲,性能会相差多大呢?来看
BufferInputStreamDemo
我们Copy同样一个文件,用了多少时间呢?来看!丫只用了14毫秒,CALL!!!
ByteArrayDemo
来看看使用ByteArray输出文件吧
RandomAccess
有种输出流叫Random,你们还记得吗?学习时记得的,工作久了,HOHO,忘了,它到底有什么特殊的地方呢?来看:
它输出后的文件是怎么样的呢?PipeStream
这个流很特殊,我们在线程操作时,两个线程都在运行,这时通过发送一个指令让某个线程do something,我们在以前的jdk1.4中为了实现这样的功能,使用的就是这个PipeStream
先来看两个类,一个叫SendMessage,即发送一个指令。一个叫ReceiveMessage,用于接受指令。
SendMessage
ReceiveMessage如何使用这两个类呢?
TestPipeStream
注意这边有一个send.getOut().connect(receive.getInput());这个方法就把两个线程”connect“起来了。
Serializable的IO操作
把一个类序列化到磁盘上,怎么做?
先来看我们要序列化的一个Java Bean
Person
下面来看序列化的操作SerializablePersonToFile
这边先把Person输出到Person.txt,再从Person.txt里反序列化出这个Person的Java Bean。先讲这么些吧!
Java的流操作还有很多,这些是经常会被面试到的,很基础,因此经常被考到。
以前听一个读IT的同学说过,这些IO操作,就算没有Eclipse编辑器的话,用文本编辑器也应该能够写出来,你写不出只能代表你的基础太弱了。
Recommend
-
19
从现在开始,以样题的方式一一列出各种面试题以及点评,考虑到我在前文中说的,对于一些大型的外资型公司,你将会面临全程英语面试,因此我在文章中也会出现许多全英语样题。 这些题目来自于各个真实的公司,公司名我就不一一例举了,是本人一直以来苦心...
-
9
算出num个数内的质数 质数即大于1的一个自然数,这个数可以被1和自身整除,如算出20之内的质数,它们有2,3,5,7,11,13,17,19这样的数字。这道题也是面试过程中笔试常问的一道题。 这道题的其目的在于: 1. 看笔试者的数学还记不记...
-
6
写了这么多JAVA基础,来点SQL吧! 一般面试时考SQL,主要就是考你“统计分析”这一块,下面我们来看面试官经常采用的手段。 由4张简单的不能再简单的表,演变出50道SQL 哈哈哈哈,够这个面试官面个15,20个人,不带重...
-
11
think in java interview-高级开发人员面试宝典(九) 今天来谈...
-
10
think in java interview-高级开发人员面试宝典(三) 收集自Orac...
-
10
think in java interview-高级开发人员面试宝典(一) “生...
-
6
think in java interview-高级开发人员面试宝典代码示例 下载资...
-
14
这次开始我们来点洋文吧。 有些基础,大家可能用中文知道如何表示,但是面试官如果让你用全英语表达你就不知道如何去说了,那么下面我们将给出对于一些常用的JAVA基础知识的英语问答以及相关的答案。 大家可以看一下如何用英语去回答这些基础的问...
-
11
think in java interview-高级开发人员面试宝典(七) 上两周研发...
-
8
今天是”面经“的最后一篇,主要讲的就是一些大公司在招人时最后的那道”智力题“关卡。 什么是智力题? 什么样的智力题呢?就是类似于下面这种题目,出个1道到2道让面试者回答一下。 例: 有四个人要在夜...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK