计算机专业毕业面试时,哪些问题会经常被面试官问到?

如题所述

1. 从哈希表,二叉树和链表中取元素需要多少时间?如果你有数百万记录呢?

哈希表需要O(1)时间,二叉树需要O(logN) (N是树中节点数),链表需要O(N) (N是链表中节点数)。如果数据结构工作正常(比如哈希表没有或只有相对少量冲突,二叉树是平衡的),数百万记录并不影响效率。如果工作不正常,那么效率会随着记录数上升而下降。

2. 覆盖(Overriding)和重载(Overloading)的区别是什么? 

覆盖在运行时决定,重载是在编译时决定。并且覆盖和重载的机制不同,例如在Java中,重载方法的签名必须不同于原先方法的,但对于覆盖签名必须相同。

3. fork一个进程和生成一个线程有什么区别?

当你fork一个进程时,新的进程将执行和父进程相同的代码,只是在不同的内存空间中。但当你在已有进程中生成一个线程时,它会生成一个新的代码执行路线,但共享同一个内存空间。

4. 什么是临界区? 

临界区是一段代码,十分重要,在多线程中同一时间只能被一个线程执行。可以用信号量或互斥量来保护临界区。在Java中你可以用synchronized关键字或ReentrantLock来保护临界区。

5. 值类型和引用类型有什么区别? 

值类型是更加优化的类型,总是不可变的(immutable),例如Java原始的int、long、double和float。引用类型指向一个对象,可能是可变的,也可能是不变的。你也可以说值类型指向一个值,引用类型指向一个对象。

6. 什么是在进程中的堆和栈?

在同一个进程中,有两块不同的内存区域。以Java来说,栈用来存储原始值和指向对象的引用类型,但对象本身总是在堆中被创建。堆和栈的一个重要区别是,堆内存被所有线程共享,但每个线程有自己的栈。

7. 什么是版本控制?

版本控制是用来存储代码和管理代码库版本的软件,例如SVN、CVS、Git、Perforce和ClearCase。它们在对比代码、审查代码和从之前的稳定版本构造时十分高效。所有的专业开发都使用某种版本控制工具,否则你无法有效的管理代码,尤其是如果有20个开发者在同一个代码库上工作的时候。版本控制工具在保持代码库一致性和处理代码冲突上扮演着十分重要的角色。

8. 什么是强类型程序设计语言?

在强类型语言中,编译器确保类型的正确性,例如你无法在String类型中存放数字,反之亦然。Java是强类型语言,因此存在各种数据类型(如int、float、String、char、boolean等)。你只能将兼容的值存入相应的类型中。

与此相反,弱类型语言不要求在编译时进行类型检查,它们根据上下文处理值。Python和Perl是两个常见的弱类型程序设计语言的例子,你可以将数字组成的字符串保存在数字类型中。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-30
不管哪个专业,面试问的专业知识不是最多的,问的最多的还是你的心理,通过对话了解你的内心,比如说你的沟通技巧、你对专业知识的理解,以及人对人生的规划等,当然,过硬的专业知识是必要的。你面试主要根据考官问的问题来推测他想了解的是什么,只要你大方,笑容,流利,自然给人的第一印象自信就可以赢得50%胜率本回答被网友采纳
第2个回答  2016-01-12

    嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?while(1){}或者for(;;){} 

    ICMP是什么协议,处于哪一层?答:Internet控制报文协议,处于网络层(IP层)(ping命令基于这个协议)

    4.引用与指针有什么区别?1) 引用必须被初始化,指针不必。2) 引用初始化以后不能被改变,指针可以改变所指的对象。3) 不存在指向空值的引用,但是存在指向空值的指针。

    局部变量能否和全局变量重名?答:能,局部会屏蔽全局。要用全局变量,需要使用"::"

    堆栈溢出一般是由什么原因导致的?没有回收垃圾资源。

    冒泡排序算法的时间复杂度是什么?时间复杂度是O(n2)。

    Internet采用哪种网络协议?该协议的主要层次结构?Tcp/Ip协议,主要层次结构为: 应用层/传输层/网络层/数据链路层/物理层。

    IP地址的编码分为哪俩部分?IP地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位

    直接链接两个信令点的一组链路称作什么?答:PPP点到点连接

    软件测试都有那些种类?黑盒:针对系统功能的测试白盒:测试函数功能,各函数接口。

第3个回答  2013-03-29
你有过什么样的项目经验
第4个回答  2013-03-29
其实不会有太多的专业问题问你,面试官会要求你作下简单的自我介绍和行业规划,或者是你想努力的目标什么的,专业的问题基本上会上机操作,看你的操作情况!学的知识用到的时候会说,会用就行,没什么的!没那么严格的本回答被网友采纳
相似回答