C语言、JAVA、数据结构与算法、操作系统与数据库、计算机网络至少熟悉一门。
C语言和JAVA的面试题网上一搜有很多。
1、引用与指针有什么区别?
1) 引用必须被初始化,指针不必。
2) 引用初始化以后不能被改变,指针可以改变所指的对象。
3) 不存在指向空值的引用,但是存在指向空值的指针。
2. 例举常见的排序算法及时间复杂度?
冒泡排序算法的时间复杂度O(n^2)
……
3、网络七层协议:
从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 其中高层,既7、6、5、4层定义了应用程序的功能,下面3层,既3、2、1层主要面向通过网络的端到端的数据流。
4、线程和进程有什么不同?
线程是比进程更小的处理模块。
进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:
简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
线程的划分尺度小于进程,使得多线程程序的并发性高。
另外,进程在执行过程中拥有的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
5、数组和链表有什么不同?
数组 (Array)
在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
链表 (Linked List)
是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点
可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。
6、字节、字符、字符串和位的相关概念
1. bit:位
一个二进制数据0或1,是1bit;
2. byte:字节
存储空间的基本计量单位,
1 byte = 8 bit
3. 一个英文字符占一个字节;
1 字母 = 1 byte = 8 bit
4. 一个汉字占2个字节;
1 汉字 = 2 byte = 16 bit
字符串:
如果“字符”是以ANSI编码形式存在的,\"中文123\" 7字节)。
(占
如果“字符”是以在Unicode中的序号存在的,,\"中文123\"(占10字节)。
7、软件的debug版本和release版本有什么区别?
8、C和C++有什么区别
9、解释一下程序
int *p
*p
P
&p
10、测试方法
人工测试:个人复查、抽查和会审
机器测试:黑盒测试和白盒测试
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- esig.cn 版权所有 湘ICP备2023023988号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务