读书人

今日的面试题目

发布时间: 2012-12-24 10:43:13 作者: rapoo

今天的面试题目

1,解释编译和链接

?

编译过程就是把预处理完的文件进过一些列的词法分析、语法分析、语义分析及优化后生成相应的汇编代码文件。

链接及时将目标文件进行处理,得到可执行文件。链接的主要内容就是把各个模块之间相互应用的部分处理好,使各个模块之间能够正确的衔接

?

2,解释JAVA的跨平台性

java程序是运行在java虚拟机(JVM)上面的,只需要JVM去适应不同的平台,所以平台的差异和java程序没关系

?

3,关于JAVA和C程序执行的效率分析

java语言是一种解释型语言,在运行阶段先编译为字节码(.class文件),然后字节码在被JVM解释执行;

C语言是编译型语言,在运行的时候直接变为机器语言,直接就可以在机器上运行。

?

4,空指针异常发生在程序执行的哪个阶段

今天面试官给我说了两个选项(编译和链接)。这个问题现在还是不是明白,编译阶段只会提示语法错误,链接的话加载函数。而我觉得空指针异常应该是在程序执行阶段,调用的时候才会判断是否为NULL,如果为NULL才产生空指针异常。

?

以上就是几个基础的问题,还有几个就是关于设计数据库的时候的优化,判断程序执行过程是否发生死锁并找到死锁的位置。这几个问题还没完全明白,等明白了再写出来。

?

14 楼 akon405 2012-10-11 groovyzhou 写道从这几个问题就能看出来这个公司不怎么样,不去也罢
腾讯啊,我还是想去 15 楼 akon405 2012-10-11 lvwenwen 写道哥们,是哪里的面试题目
腾讯 16 楼 akon405 2012-10-11 OpenMind 写道面试官明显是个搞C/C++的,面Java就问这几个问题?
他们都关注底层,至于编程语言倒是不是很关注 17 楼 akon405 2012-10-11 OpenMind 写道面试官明显是个搞C/C++的,面Java就问这几个问题?
注重基础,注重原理 18 楼 atgoingguoat 2012-10-11 这估计是入门程序员或实习生的面试题. 19 楼 liuInsect 2012-10-11 “编译过程就是把预处理完的文件进过一些列的词法分析、语法分析、语义分析及优化后生成相应的汇编代码文件。

链接及时将目标文件进行处理,得到可执行文件。链接的主要内容就是把各个模块之间相互应用的部分处理好,使各个模块之间能够正确的衔接”

这句话错误有点多,能感觉出来,博主对JAVA的执行方式并不是很清晰

首先, 在编写JAVA代码时,是被保存为.java文件,在保存后,立即被JVM拿去编译成.class结尾的文件,这个过程是有词法分析,语法分析的,但是不是编译成相应的汇编文件。

而后,“链接及时将目标文件进行处理,得到可执行文件” 也是有问题的, 要把JAVA的程序编程可执行文件是需要其他的步骤的,博主可以自己去查看下。

“链接及时将目标文件进行处理,得到可执行文件。链接的主要内容就是把各个模块之间相互应用的部分处理好,使各个模块之间能够正确的衔接”

这段描述感觉更像是C而不是JAVA。 20 楼 liuInsect 2012-10-11 “空指针异常发生在程序执行的哪个阶段”

所谓空指针异常是继承自RuntimeException 可以看看源代码。

这个异常是运行时异常。

准确的说 我认为两个时刻都不对, 因为 无论是编译还是连接 都不会产生这个异常的,
一定要说个时刻,我就说是运行时异常/ 21 楼 mfkvfn 2012-10-11 关于那个链接,像是C/C++中的概念。C/C++程序都要经过编译和链接才能执行。
Java中有链接这个东西吗?我用了6年的Java,怎么不知道有这个东西。

另外一点19楼已经说了,Java编译不是“生成相应的汇编代码文件”而是生成字节码的class文件。

还有“java语言是一种解释型语言,在运行阶段先编译为字节码(.class文件),然后字节码在被JVM解释执行;”这里不是在运行阶段编译吧?在运行前已经编译好了的,没编译的情况下是不可以运行的。

还有第3题人家问的是效率,你回答的都是什么呀。

第4个问题,问得太没水准了,不解释。 22 楼 lvwenwen 2012-10-11 akon405 写道lvwenwen 写道哥们,是哪里的面试题目
腾讯

哥们是武汉的腾讯吗 23 楼 akon405 2012-10-11 lvwenwen 写道akon405 写道lvwenwen 写道哥们,是哪里的面试题目
腾讯

哥们是武汉的腾讯吗
嗯 24 楼 akon405 2012-10-11 liuInsect 写道“编译过程就是把预处理完的文件进过一些列的词法分析、语法分析、语义分析及优化后生成相应的汇编代码文件。

链接及时将目标文件进行处理,得到可执行文件。链接的主要内容就是把各个模块之间相互应用的部分处理好,使各个模块之间能够正确的衔接”

这句话错误有点多,能感觉出来,博主对JAVA的执行方式并不是很清晰

首先, 在编写JAVA代码时,是被保存为.java文件,在保存后,立即被JVM拿去编译成.class结尾的文件,这个过程是有词法分析,语法分析的,但是不是编译成相应的汇编文件。

而后,“链接及时将目标文件进行处理,得到可执行文件” 也是有问题的, 要把JAVA的程序编程可执行文件是需要其他的步骤的,博主可以自己去查看下。

“链接及时将目标文件进行处理,得到可执行文件。链接的主要内容就是把各个模块之间相互应用的部分处理好,使各个模块之间能够正确的衔接”

这段描述感觉更像是C而不是JAVA。
他问的是编译和链接,和编程语言无关。写的时候冒失加了一个java,马上删掉,以免害人 25 楼 akon405 2012-10-11 mfkvfn 写道关于那个链接,像是C/C++中的概念。C/C++程序都要经过编译和链接才能执行。
Java中有链接这个东西吗?我用了6年的Java,怎么不知道有这个东西。

另外一点19楼已经说了,Java编译不是“生成相应的汇编代码文件”而是生成字节码的class文件。

还有“java语言是一种解释型语言,在运行阶段先编译为字节码(.class文件),然后字节码在被JVM解释执行;”这里不是在运行阶段编译吧?在运行前已经编译好了的,没编译的情况下是不可以运行的。

还有第3题人家问的是效率,你回答的都是什么呀。

第4个问题,问得太没水准了,不解释。
第三个问题是,c比java的效率高的原因。
第四个,没水准?这是什么意思,帮忙解释一下吧

读书人网 >编程

热点推荐