❶ 求程序员--笔试面试题库
ASP.Net程序员测试题
一、数据库部分:
数据库中有以下几个表
Customers(客户信息)
列名称 含义 数据类型 可空 是主键 是外键 默认值
Customer_ID 客户编号 int(自动增长) N Y N 无
Customer_Name 客户名称 nvarchar(30) N N N 无
Procts(商品信息)
列名称 含义 数据类型 可空 是主键 是外键 默认键
Procts _ID 客户编号 int(自动增长) N Y N 无
Procts _Name 客户名称 nvarchar(100) N N N 无
Unit_Price 单价 decimal(7,2) N N N 无
Orders(订单信息)
列名称 含义 数据类型 可空 是主键 是外键 默认键
Order _ID 订单编号 int(自动增长) N Y N 无
Order _Date 订单日期 smalldatetime N N N DETDATEO
Customer_Price客户编号 int N N Y 无
OrderDetails(订单详细内容)
列名称 含义 数据类型 可空 是主键 是外键 默认键
Order _ID 订单编号 int(自动增长)N Y Y 无
Proct _ID 商品编号 smalldatetime N Y Y 无
Proct_Quantity商品数量 int N N N 1
问题如下
1.Orders表Order_Date字段的默认值GETDATEO是什么意思?
2.查询商品信息表中的商品总数量,各种商品平均单价。
3.查询用户名称为“张三”,订单日期为2005-8-30日的订单总金额。
4.查询商品名称为“联想电脑”的商品在2005-7-1日至2005-7-31之间每天的销售明细(要求显示日期、当日的销售总量)。
二、C#语法题
1.C#中所有类的基类是什么?
2.计算n+(n-1)+(n-2)+…+1(n=100)。
3.请阅读以下代码,并求出结果。
Int iResult=0;
Int iTemp=0;
for(int i=0;i+=2)
{
iResult+=i;
}
While(iTemp<3)
{
iResult-=iTemp;
iTemp++;
}
请问iResult的值为多少?
4.override与重载有什么区别?
5.阅读以下代码,然后回答问题
Private int Division(int x,int y)
{
return x/y;
}
请问该函数被调用时是否可能会出现问题?如果有问题请修改该函数。
6.public class A
{
private string_value=“”;
public A(string value)
{
This._value=value;
}
}
Public class B:A
{
//想在构造类B的同时初始化类A中的_value字段?
}
想在构造类B的同时初始化类A中的_value字段,是否可以实现?如果可以实现,请补充类B的代码。
7.public sealed class A
{
……
}
请问代码中的sealed是什么意思?
8.请问Session 和Application各在什么场合下使用(最好举例说明)
9.请问您在什么情况下会用到虚方法?它与接口方法有什么不同?
10.请列举二个您用到过的设计模式?
11.请列举一些ASP.Net中支持数据绑定的控件,您经常使用哪些?
12.页面上有一个input框的名字为txtPrice,请在提交前验证该控件中的内容(不能为空,必须是整数,用javascript验证)。
13.请问重定向页面有几种方法?
你可以试着做做看,公司出的题应该都不一样的,希望对你有所帮助!
❷ 程序员题库app有哪些
可以装个应用宝在手机上
然后选择上方的空白框,输入要下载的应用和手游名
然后找到了应用或者手游后,直接进行下载安装就可以了
❸ C语言笔试题 面试专用 求题目
> 预处理器(Preprocessor)
1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
我在这想看到几件事情:
1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)
2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。
3). 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。
4). 如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。记住,第一印象很重要。
2. 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。
#define MIN(A,B) ((A) <= (B) (A) : (B))
这个测试是为下面的目的而设的:
1). 标识#define在宏中应用的基本知识。这是很重要的,因为直到嵌入(inline)操作符变为标准C的一部分,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。
2). 三重条件操作符的知识。这个操作符存在C语言中的原因是它使得编译器能产生比if-then-else更优化的代码,了解这个用法是很重要的。
3). 懂得在宏中小心地把参数用括号括起来
4). 我也用这个问题开始讨论宏的副作用,例如:当你写下面的代码时会发生什么事?
least = MIN(*p++, b);
3. 预处理器标识#error的目的是什么?
如果你不知道答案,请看参考文献1。这问题对区分一个正常的伙计和一个书呆子是很有用的。只有书呆子才会读C语言课本的附录去找出象这种问题的答案。当然如果你不是在找一个书呆子,那么应试者最好希望自己不要知道答案。
死循环(Infinite loops)
4. 嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?
这个问题用几个解决方案。我首选的方案是:
while(1)
{
}
一些程序员更喜欢如下方案:
for(;;)
{
}
这个实现方式让我为难,因为这个语法没有确切表达到底怎么回事。如果一个应试者给出这个作为方案,我将用这个作为一个机会去探究他们这样做的
基本原理。如果他们的基本答案是:“我被教着这样做,但从没有想到过为什么。”这会给我留下一个坏印象。
第三个方案是用 goto
Loop:
...
goto Loop;
应试者如给出上面的方案,这说明或者他是一个汇编语言程序员(这也许是好事)或者他是一个想进入新领域的BASIC/FORTRAN程序员。
数据声明(Data declarations)
5. 用变量a给出下面的定义
a) 一个整型数(An integer)
b) 一个指向整型数的指针(A pointer to an integer)
c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointerto an integer)
d) 一个有10个整型数的数组(An array of 10 integers)
e) 一个有10个指针的数组,该指针是指向一个整型数的(An array of 10 pointers tointegers)
f) 一个指向有10个整型数数组的指针(A pointer to an array of 10 integers)
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer)
h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数( An array of ten pointers to functions that take an integer argument and return an integer )
答案是:
a) int a; // An integer
b) int *a; // A pointer to an integer
c) int **a; // A pointer to a pointer to an integer
d) int a[10]; // An array of 10 integers
e) int *a[10]; // An array of 10 pointers to integers
f) int (*a)[10]; // A pointer to an array of 10 integers
g) int (*a)(int); // A pointer to a function a that takes an integer argumentand returns an integer
h) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an integer
人们经常声称这里有几个问题是那种要翻一下书才能回答的问题,我同意这种说法。当我写这篇文章时,为了确定语法的正确性,我的确查了一下书。但是当我被面试的时候,我期望被问到这个问题(或者相近的问题)。因为在被面试的这段时间里,我确定我知道这个问题的答案。应试者如果不知道所有的答案(或至少大部分答案),那么也就没有为这次面试做准备,如果该面试者没有为这次面试做准备,那么他又能为什么出准备呢?
Static
6. 关键字static的作用是什么?
这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:
1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。
大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。
Const
7.关键字const是什么含意?
我只要一听到被面试者说:“const意味着常数”,我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:EmbeddedSystems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从没有读到那篇文章,只要能说出const意味着“只读”就可以了。尽管这个答案不是完全的答案,但我接受它作为一个正确的答案。(如果你想知道更详细的答案,仔细读一下Saks的文章吧。)如果应试者能正确回答这个问题,我将问他一个附加的问题:下面的声明都是什么意思?
const int a;
int const a;
const int *a;
int * const a;
int const * a const;
前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。如果应试者能正确回答这些问题,那么他就给我留下了一个好印象。顺带提一句,也许你可能会问,即使不用关键字const,也还是能很容易写出功能正确的程序,那么我为什么还要如此看重关键字const呢?我也如下的几下理由:
1). 关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。如果你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这点多余的信息。(当然,懂得用const的程序员很少会留下的垃圾让别人来清理的。)
2). 通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。
3). 合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。简而言之,这样可以减少bug的出现。
Volatile
8. 关键字volatile有什么含意 并给出三个不同的例子。
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:
1). 并行设备的硬件寄存器(如:状态寄存器)
2). 一个中断服务子程序中会访问到的非自动变量(Non-automatic variables)
3). 多线程应用中被几个任务共享的变量回答不出这个问题的人是不会被雇佣的。我认为这是区分C程序员和嵌入式系统程序员的最基本的问题。嵌入式系统程序员经常同硬件、中断、RTOS等等打交道,所用这些都要求volatile变量。不懂得volatile内容将会带来灾难。假设被面试者正确地回答了这是问题(嗯,怀疑这否会是这样),我将稍微深究一下,看一下这家伙是不是直正懂得volatile完全的重要性。
1). 一个参数既可以是const还可以是volatile吗?解释为什么。
2). 一个指针可以是volatile 吗?解释为什么。
3). 下面的函数有什么错误:
int square(volatile int *ptr)
{
return *ptr * *ptr;
}
下面是答案:
1). 是的。一个例子是只读的状态寄存器。它是volatile因为它可能被意想不到地改变。它是const因为程序不应该试图去修改它。
2). 是的。尽管这并不很常见。一个例子是当一个中服务子程序修该一个指向一个buffer的指针时。
3). 这段代码的有个恶作剧。这段代码的目的是用来返指针*ptr指向值的平方,但是,由于*ptr指向一个volatile型参数,编译器将产生类似下面的代码:
int square(volatile int *ptr)
{
int a,b;
a = *ptr;
b = *ptr;
return a * b;
}
由于*ptr的值可能被意想不到地该变,因此a和b可能是不同的。结果,这段代码可能返不是你所期望的平方值!正确的代码如下:
long square(volatile int *ptr)
{
int a;
a = *ptr;
return a * a;
}
位操作(Bit manipulation)
9. 嵌入式系统总是要用户对变量或寄存器进行位操作。给定一个整型变量a,写两段代码
,第一个设置a的bit 3,第二个清除a 的bit 3。在以上两个操作中,要保持其它位不变。
对这个问题有三种基本的反应
1). 不知道如何下手。该被面者从没做过任何嵌入式系统的工作。
2). 用bit fields。Bit fields是被扔到C语言死角的东西,它保证你的代码在不同编译器之间是不可移植的,同时也保证了的你的代码是不可重用的。我最近不幸看到Infineon为其较复杂的通信芯片写的驱动程序,它用到了bit fields因此完全对我无用,因为我的编译器用其它的方式来实现bit fields的。从道德讲:永远不要让一个非嵌入式的家伙粘实际硬件的边。
3). 用 #defines 和 bit masks 操作。这是一个有极高可移植性的方法,是应该被用到的
方法。最佳的解决方案如下:
#define BIT3 (0x1<<3)
static int a;
void set_bit3(void)
{
a |= BIT3;
}
void clear_bit3(void)
{
a &= ~BIT3;
}
一些人喜欢为设置和清除值而定义一个掩码同时定义一些说明常数,这也是可以接受的。
我希望看到几个要点:说明常数、|=和&=~操作。
访问固定的内存位置(Accessing fixed memory locations)
10. 嵌入式系统经常具有要求程序员去访问某特定的内存位置的特点。在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。编译器是一个纯粹的ANSI编译器。写代码去完成这一任务。
这一问题测试你是否知道为了访问一绝对地址把一个整型数强制转换(typecast)为一指
针是合法的。这一问题的实现方式随着个人风格不同而不同。典型的类似代码如下:
int *ptr;
ptr = (int *)0x67a9;
*ptr = 0xaa55;
一个较晦涩的方法是:
*(int * const)(0x67a9) = 0xaa55;
即使你的品味更接近第二种方案,但我建议你在面试时使用第一种方案。
中断(Interrupts)
11. 中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展—让标准C支持中断。具代表事实是,产生了一个新的关键字__interrupt。下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的。
__interrupt double compute_area (double radius)
{
double area = PI * radius * radius;
printf(" Area = %f", area);
return area;
}
这个函数有太多的错误了,以至让人不知从何说起了:
1). ISR 不能返回一个值。如果你不懂这个,那么你不会被雇用的。
2). ISR 不能传递参数。如果你没有看到这一点,你被雇用的机会等同第一项。
3). 在许多的处理器/编译器中,浮点一般都是不可重入的。有些处理器/编译器需要让额
处的寄存器入栈,有些处理器/编译器就是不允许在ISR中做浮点运算。此外,ISR应该是短而有效率的,在ISR中做浮点运算是不明智的。
4). 与第三点一脉相承,printf()经常有重入和性能上的问题。如果你丢掉了第三和第四点,我不会太为难你的。不用说,如果你能得到后两点,那么你的被雇用前景越来越光明了。
代码例子(Code examples)
12 . 下面的代码输出是什么,为什么?
void foo(void)
{
unsigned int a = 6;
int b = -20;
(a+b > 6) puts("> 6") : puts("<= 6");
}
这个问题测试你是否懂得C语言中的整数自动转换原则,我发现有些开发者懂得极少这些东西。不管如何,这无符号整型问题的答案是输出是“>6”。原因是当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。因此-20变成了一个非常大的正整数,所以该表达式计算出的结果大于6。这一点对于应当频繁用到无符号数据类型的嵌入式系统来说是丰常重要的。如果你答错了这个问题,你也就到了得不到这份工作的边缘。
13. 评价下面的代码片断:
unsigned int zero = 0;
unsigned int compzero = 0xFFFF;
/*1's complement of zero */
对于一个int型不是16位的处理器为说,上面的代码是不正确的。应编写如下:
unsigned int compzero = ~0;
这一问题真正能揭露出应试者是否懂得处理器字长的重要性。在我的经验里,好的嵌入式程序员非常准确地明白硬件的细节和它的局限,然而PC机程序往往把硬件作为一个无法避免的烦恼。
到了这个阶段,应试者或者完全垂头丧气了或者信心满满志在必得。如果显然应试者不是很好,那么这个测试就在这里结束了。但如果显然应试者做得不错,那么我就扔出下面的追加问题,这些问题是比较难的,我想仅仅非常优秀的应试者能做得不错。提出这些问题,我希望更多看到应试者应付问题的方法,而不是答案。不管如何,你就当是这个娱乐吧
…
动态内存分配(Dynamic memory allocation)
14. 尽管不像非嵌入式计算机那么常见,嵌入式系统还是有从堆(heap)中动态分配内存的过程的。那么嵌入式系统中,动态分配内存可能发生的问题是什么?
这里,我期望应试者能提到内存碎片,碎片收集的问题,变量的持行时间等等。这个主题已经在ESP杂志中被广泛地讨论过了(主要是 P.J. Plauger, 他的解释远远超过我这里能提到的任何解释),所有回过头看一下这些杂志吧!让应试者进入一种虚假的安全感觉后,我拿出这么一个小节目:下面的代码片段的输出是什么,为什么?
char *ptr;
if ((ptr = (char *)malloc(0)) == NULL)
puts("Got a null pointer");
else
puts("Got a valid pointer");
这是一个有趣的问题。最近在我的一个同事不经意把0值传给了函数malloc,得到了一个合法的指针之后,我才想到这个问题。这就是上面的代码,该代码的输出是“Got a validpointer”。我用这个来开始讨论这样的一问题,看看被面试者是否想到库例程这样做是正确。得到正确的答案固然重要,但解决问题的方法和你做决定的基本原理更重要些。
Typedef
15. Typedef 在C语言中频繁用以声明一个已经存在的数据类型的同义字。也可以用预处理
器做类似的事。例如,思考一下下面的例子:
#define dPS struct s *
typedef struct s * tPS;
以上两种情况的意图都是要定义dPS 和 tPS 作为一个指向结构s指针。哪种方法更好呢?(如果有的话)为什么?
这是一个非常微妙的问题,任何人答对这个问题(正当的原因)是应当被恭喜的。答案是
:typedef更好。思考下面的例子:
dPS p1,p2;
tPS p3,p4;
第一个扩展为
struct s * p1, p2;
上面的代码定义p1为一个指向结构的指,p2为一个实际的结构,这也许不是你想要的。第二个例子正确地定义了p3 和p4 两个指针。
晦涩的语法
16. C语言同意一些令人震惊的结构,下面的结构是合法的吗,如果是它做些什么?
int a = 5, b = 7, c;
c = a+++b;
这个问题将做为这个测验的一个愉快的结尾。不管你相不相信,上面的例子是完全合乎语法的。问题是编译器如何处理它?水平不高的编译作者实际上会争论这个问题,根据最处理原则,编译器应当能处理尽可能所有合法的用法。因此,上面的代码被处理成:
c = a++ + b;
因此, 这段代码持行后a = 6, b = 7, c = 12。
如果你知道答案,或猜出正确答案,做得好。如果你不知道答案,我也不把这个当作问题。我发现这个问题的最大好处是:这是一个关于代码编写风格,代码的可读性,代码的可修改性的好的话题
❹ 急需程序员笔试题,附带答案
一、选择题(每题1分,共20分)
1. 下列那种语言是面向对象的(C)
A. C B. PASCAL C. C++ D. FORTRAN77
2.在 Windows9x 下,可以进入 MS-D0S 方式。当在 DOS 提示符下键入 (B ) 命令后,
系统将退出 MS-DOS方式,返回到 WIndows 方式。
A. CLOSE B. EXIT C. QUIT D. RETURN
3.下面哪些是面向对象的基本特性:(A,B,C )
A 多态 B 继承 C 封装 D 接口
4.在C++中经常要进行异常处理,下面哪些是异常处理常用到的关键词:(A,B,C)
A try B catch C throw D break E contiue
5.数据库技术中的“脏数据',是指(D)的数据。
A.错误 B.回返 C.未提交 D.未提交的随后又被撤消
6.TCP/IP是一种(A,B)
A.标准 B.协议 C.语言 D.算法
7. 下面有关计算机操作系统的叙述中,不正确的是( )
A 操作系统属于系统软件
B 操作系统只负责管理内存储器,而不管理外存储器
C UNIX 是一种操作系统
D 计算机的处理器、内存等硬件资源也由操作系统管理
8.微机上操作系统的作用是( D)
A 解释执行源程序 B 编译源程序
C 进行编码转换 D 控制和管理系统资源
9.下列存储器中存取速度最快的是(A )
A 内存 B 硬盘 C 光盘 D 软盘
10.在计算机中,—个字节是由多少个二进制位组成的( )
A. 4 B. 8 C. 16 D. 24
11. 存储16×16点阵的一个汉字信息,需要的字节数为( )
A 32 B 64 C 128 D 256
12. 以下选项中合法的字符常量是(C)
A."B" B. '\010' C. 68 D. D
13. 假定x和y为double型,则表达式x=2,y=x+3/2的值是()
A. 3.500000 B. 3 C. 2.000000 D. 3.000000
14. 以下合法的赋值语句是()
A. x=y=100 B. d--; C. x+y; D. c=int(a+b);
15. 设正x、y均为整型变量,且x=10 y=3,则以下语句
pprintf("%d,%d\n",x--,--y); 的输出结果是()
A.10,3 B. 9,3 C. 9,2 D.10,2
16. x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()
A .INPUT x、y、z; B. scanf("%d%d%d",&x,&y,&z);
C. scanf("%d%d%d",x,y,z); D. read("%d%d%d",&x,&y,&z);
17.以下数组定义中不正确的是()
A) int a[2][3]; B) int b[][3]={0,1,2,3};
C) int c[100][100]={0}; D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
18. 以下程序的输出结果是()
main()
{
int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0];
}
A) 0650 B) 1470 C) 5430 D) 输出值不定
19 以下程序的输出结果是()
main()
{
char st[20]= "hello\0\t\\\";
printf(%d %d \n",strlen(st),sizeof(st));
}
A) 9 9 B) 5 20 C) 13 20 D) 20 20
20. 当调用Windows API函数InvalidateRect,将会产生什么消息()
A:WM_PAINT B:WM_CREATE
C:WM_NCHITTEST D:WM_SETFOCUS
二、填空题(每题3分,共30分)
1.请列举当前一些当前流行的数据库引擎__________
2. 为了将当前盘当前目录中的所有文本文件(扩展名为.TXT)的内容打印输出,正确
的单条DOS命令为______。
3. 计算机网络分为局域网和广域网,因特网属于 广域网。
4. 设y是int型变量,请写出判断y为奇效的关系表达_______。
5. 设有以下程序:
main()
{ int n1,n2;
scanf("%d",&n2);
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序运行后,如果从键盘上输入1298;则输出结果为____。
6.以下程序运行后的输出结果是______。
main()
{ char s[ ]="9876",*p;
for ( p=s ; pbr>}
7.以下函数的功能是:求x的y次方,请填空。
double fun( double x, int y)
{ int i;
double z;
for(i=1, z=x; ibr>return z;
}
8.以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调
用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。
FILE *myf; ling f1;
myf= ______("test.t","rb");
fseek(myf,0,SEEK_END); f1=ftel(myf);
fclose(myf);
printf("%d\n",f1);
9. 以下程序输出的最后一个值是______。
int ff(int n)
{ static int f=l;
f=f*n;
return f;
}
main()
{ int i;
for(I=1;I<=5;I++ printf("%d\n",ff(i));
)
10. 以下程序运行后的输出结果是_____。
main()
{ int i=10, j=0;
do
{ j=j+i; i-;
while(i>2);
printf("%d\n",j);
}
三、判断题(每题2分,共20分)
1:动态链结库不能静态调用。
2:UDP是面向无连接的网络连接
3:ASP是一种数据库引擎
4:队列是先进后出。
5:Weblogic是分布式应用服务器。
6:TCP,UDP都是传输层的协议。
7: 两个线程不能共存于同一地址空间
8: JAVA是一种跨平台的开发工具
9.在WINDOWS操作系统中对外设是以文件的方式进行管理
10. 虚拟内存实际是创建在硬盘上的
四、问答题(每题10分,共30分)
1. 写出从数据库表Custom中查询No、Name、Num1、Num2并将Name以姓名显示、计算出
的和以总和显示的SQL。
Select No、Name、Num1、Num2 from custom;
2. 何为“事务处理”,谈谈你对它的理解。
3. 常用的数据结构有哪些?请枚举一些。(不少于5个)
4. 什么是OOP?什么是类?请对比类和对象实例之间的关系。
5. 有一组数字(3,10,6,8,98,22),请编程排序(升降序皆可),语言不限,算法不限,但须注明是何种算法。
[email protected]
❺ 软件测试工程师笔试试题
首先,我不急于回答你的问题
你先自己检查一下自己所说的话语中有没有错误,软件测试最关键在于是细心,认真。
其次,你的问题
1.你们是怎样进行回归测试的,一般进行几轮,具体说一下?
2.你们一个项目总工要写多少用例?
3.你知道一个项目代码有多大?
4.你们公司的测试流程?
5.在测试之前,你们干什么?
6.测试计划中,你们项目经理是依据什么给你们分配任务的?
7.你们的测试数据主要来自哪?
8.测试过程中与开发因为BUG发生冲突,你们公司怎样解决?
9.具体讲一下容量测试,强度测试,负载测试的区别?
10.你们公司是怎样进行评审的?
11.你写的项目时间是整个项目从开始到结束的时间,还是只是测试时间?
12.开发在做项目的时候,测试在干嘛?
1、 一般就是先进行冒烟测试,首先确定这些被测试的软件能够运行,然后进行第一轮的测试,测出来问题之后经过项目经理签字确认然后发给每个程序员进行修改,确认回归测试的日期,回归测试时主要测试修改过的部分,同时兼顾不能引发其他方面的问题。一般情况第一轮回归测试完成之后不再出现问题,但是实际过程中会出现第二轮回归测试,如果出现第三轮回归测试,我们将提交问题到质量问题报告中。
2、 测试用例的多少主要要根据项目的大小而定,项目比较大,业务比较复杂的测试用例相对比较多,相反,项目比较小,业务比较简单的测试用例相对比较少一些。不是测试用例多就好,而是测试用例复用性好就说明测试用例选择的好。
3、 根据项目而定。
团队规模
周期长短 10人以上 5人-10人 3-5人 3人以下
6个月以上 一类 一类 二类 三类
2个月-6个月 一类 二类 三类 四类
2个月以下 二类 三类 三类 四类
4、 测试流程:
按照测试计划,项目经理提交测试文档和代码或者可执行文件-测试经理按照测试计划布置测试任务-首先测试工程师进行冒烟测试冒烟测试通过之后进入功能测试-发现bug之后记录bug,并对bug进行管理-一轮测试完毕之后提交项目经理确认-项目经理确认之后进行修改任务分派-程序员进行修改-修改完成之后提交给项目经理确认-之后提交给测试组进行回归测试,如果没有问题测试结束,如果出现问题-重复上面的工作进行第二轮测试。
5、 按要求,在测试之前,开发计划编制完成之后编制测试计划,需求阶段我们应该做系统测试方案和系统测试用例,在设计阶段我们应该编制集成测试方案和集成测试用例,在编码阶段,我们应该编制单元测试方案和单元测试用例。但是实际生活中,我们只编制系统测试计划和系统测试用例。
6、 测试经理给我们分配的任务应该是按照项目开发计划和每一位测试人员的水平及技术特长而定的。
7、 测试数据一般来自于用户需求、概要、详细、数据库设计文档、测试用例或用户实际数据。
8、 依据需求,通过沟通来解决问题,如果需求中不明确则参考设计并听取分析员的意见。
9、 负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担,响应时间是多少,测试的结果和时间有关系,比如速率、响应时间。
强度测试:在一定的负载条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响,测试的结果看硬件是否满负荷,比如内存溢出等。
容量测试:确定系统可处理同时在线的最大用户数,测试的结果主要是针对数据库里的数据。
10、 在开发计划、用户需求、需求分析规格说明书、概要设计、详细设计、数据库设计等文档完成之后都要进行评审,这里的评审一般都是同行评审。一般都是以正式会议的形式进行。
11、 项目时间一般是指从项目立项到客户验收汇款这一段时间。不包括维护阶段。
12、 开发做分析设计及编码的时候测试在写测试用例,准备测试数据。
最后,告诉你,我不是做软件测试的,但是希望我所知道的这些能给予你帮助,我还有一份测试文档,不知能否帮助你,需要的话请找我。
希望你能成为这方面的人才专家!
❻ 初级程序员考试题库有哪些
程序员考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个初级考试。程序员考试分为上午科目和下午科目,上午考基础知识;下午题是程序设计。通读教材吃透书本是基础,在结合练习题加以巩固。上学吧“程序员”题库,题目还挺多的。
❼ 招java程序员的公司考题都是什么
应届毕业生应聘时一般只会考一些java的基础知识,比如final,finally,finalize的区别了这一类无聊的问题。如果是用java做网站,那还会考一些jsp和javascript技术,比如Sevelet的生命周期啦之类的。
❽ 关于程序员考试;大家是怎么准备的
程序员考试属于全国计算机技术与软件专业技术资格考试(简称计算机软件资格考试)中的一个初级考试。通读教材吃透书本是基础,在结合练习题加以巩固。练习题的话可以考虑纸质题与做题软件相结合的形式,平时以纸质题为主,碎片时间选择APP比较合理。题库的选择很多,上学吧“程序员题库”方便利用零碎时间来做题。希望我的回答帮助到你~
❾ 程序员题目
程序员考试没有上机题的!
程序员考试分为上、下午两场,各75分,均为笔答内容。一般如果上、下午考试都能达到45分以上基本就能通过了。其中上午试题以选择形式给出,每题目一分。下午部分都是综合题,共要求完成五道,以简答和填空为主,每题15分。
上午题目形式大体分为两大类:一类是计算机科学基础知识和计算机系统知识;另一类是数据结构、软件工程等相关内容。主要考察考生对基础知识掌握程度。下午考题方面,题目形式相对比较灵活,以C语言为主,但新大纲后,也允许有Java、VB等语言,所以给熟悉这些语言的考生带来了方便。
将2002年以来程序员考试题归类对比,由赛迪网校的经验来分析程序员考试,表1是2002年以来上午考试试题分类统计表。
表1 2002年以来程序员考试上午考试题目分类统计表
知识点 2002 2003 2004(上半年) 2004(下半年) 2005(上半年)
计算机系统原理 16 19 16 13 12
操作系统 5 5 10 7 6
数据库 7 5 5 5 5
多媒体技术 4 2 3 3 2
网络技术 5 5 11 5 6
程序语言基础 8 4 5 3 6
软件工程基础 12 12 7 7 8
数据结构 6 7 13 10 8
标准化与知识产权 3 6 3 3 3
英语 10 10 10 10 10
其他(日常应用等)
*有效的考试复习方法
从表1中可以看出,知识点的分布比较广,涵盖了计算机学科的各个方面,因此对于初入计算机软件行业的人员来说,考试内容覆盖面广是其首先遇到的难题。要在短时间内掌握所有这些知识点是很困难的,因此需要考生要有一个有效的复习方法。
在复习时,考生要根据自己的具体情况,制定一套完整的复习计划,不必拘泥于某种特定的方法。在看参考书时,不一定非要按顺序读,可以根据自己对知识的掌握情况来有选择地看。期间通过斟酌大纲知识点,弄清考试范围,而且要通过大纲中给出的关键字来判断复习重点,并在考试指定教材上做好标记,以便以后查阅学习。对知识有过梳理之后,建议从复习题入手,把每道题都做一遍,不要漏掉任何一个细节,考察自己对知识的掌握程度。
在考试中,无论上午还是下午的试题中,都会有程序设计的题目,要准备这样的题目,平常最好上机调试一下,这比仅仅看书效果好多了。如果程序看不懂,可以在其前后加几条Printf语句,就可以看出这几条语句的结果。程序弄明白以后,还可以对程序进行测试和修改,检查一下结果是不是自己所要得到的。对于调试过程中的出错信息,一定不要放过,因为这些很有可能就是考点。
*程序员考试难点的把握
上午试题知识面覆盖广,多数试题的相对难度不大,基础知识、常识性问题所占的比重比较大。
从历年程序员考试试题中把握考试重点是非常有效的方法,计算机系统基础知识和程序语言基础知识方面的内容呈增加趋势;操作系统基础知识和网络基础知识内容呈相对较少趋势。归类对比最近几年程序员考试上午考试的75个小题中发现,计算机系统原理、操作系统、数据结构等是重点内容,占有很大的份量。其中每一类又都具有非常多的知识点,因此更深入的挖掘将会有助于有效得分。计算机系统原理考察的范围集中在码值运算、寻址问题、硬件结构和Cache的作用上,主要是记忆知识点,只有寻址、Cache算法等需要较深入理解。数据结构历来占据相当大的比重,这是由程序员的工作性质所决定的,内容涵盖链表、矩阵、队列、字符串、树等各个方面,其中,链表、二叉树等考察的内容较多。数据库只考一些基础概念,其中属于理解性的以ER图为重点,多媒体部分考察的基本上是常识。在分析各个计算机分支内容尤其比重较大的部分时,可以从重点、难点、高频率出现题目等几个方面来分析。
以数据结构为例,其内容知识点非常多,而且难点也多,为了有效复习,通过仔细分析考题,可以归纳出数据结构课程在考试中的如下几个关键点:难点、重点、常涉及到的出题范围等,如下所示。
重点:如大纲中所指示,其中以二叉树及其性质、遍历、链表尤为重要。
难点:图的存储(矩阵、邻接表)与操作遍历、算法效率的计算(时间、空间复杂度)、常见的六种排序算法、散列表的思想以及其解决冲突的方法。
考试题型一般分布在:二维数组及其存储、链表的存储/操作(插入、删除、移动)、二叉树的定义及其性质(完全、满)、节点与深度的关系等、图的概念(有向、无向)及其性质。
考试出现频率较高的内容:链表操作、队和栈的性质及其对比、二叉树的遍历/节点计算、递归算法的设计(退出条件等)。
在对每一部分作了透彻的分析后,要理清知识点的轻重缓急,了解必考、备考知识点,增强有效得分的机会,是有效复习、有目的复习的手段。
*来自程序设计题目的挑战
软件水平考试真正有难度的地方是下午部分的考试。因为上午考基础知识,记忆性知识偏多。下午部分考程序设计,题型比较灵活,难度也比较大。对于C语言的使用要求比较熟悉,而且新加了对于Java、VB等语言的考察。考试内容包括数据结构实现、算法求解之类的问题。
程序框图或伪代码是必考题;开始出现C++、Java题目,而且除了C之外,还必须掌握VB、C++、Java 三种语言中的一种,否则无法获得高分;整个下午的考试题目比较注重于应用,注重解决实际问题的能力。
因此上机编程实践是非常必要的,实践过程中,会发现隐藏在平常仅仅通过看书发现不了的细节问题,比如语法写法、函数名称等。在考试过程中,要注意以下几点:
(1)不要过分沉迷于题中某一段,要全局看问题,整体把握。
(2)做下午的试题往往有做不下去的情况,这时要仔细重看题目条件,也许会有所感悟。
(3)做完题检查时,应重新审题,而不是只检查答案,程序与题目是否相对应。
(4)审题时,多利用程序注释来帮助理解题意。
其次是在考试过程中,多注意积累一些技巧性的问题,例如当觉得某空白处根本不需要填什么,整个程序似乎已完整,应考虑是否是填变量的初始化,从历次考试看,几乎每年都有。
*总结
无论程序员考试难与易,都需要付出才有可能成功,不懈努力,付之行动,就会有回报。而努力背后,需要掌握学习的方法。
(1)掌握好的学习方法,合理安排时间。
(2)基础理论要吃透,对于程序设计,一定要多动手,多实践。
(3)一定要找出以前的试卷,进行分析了解,历年的试题是最好的复习题。
到了考前总复习的时候,需要避重就轻,把那些还是搞不懂的东西丢开,不要去理它,把会的东西再搞清楚点,把能得的分要多得,争取拿全分。
广泛学习,了解计算机各方面知识,把握重点,分析历史考题,相信你都能顺利通过程序员考试。
如果觉得我的回答还满意,就把奖励分给我吧!