导航:首页 > 程序命令 > 程序员技能竞赛题库

程序员技能竞赛题库

发布时间:2023-05-19 05:28:46

㈠ 求程序员--笔试面试题库

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有哪些

可以装个应用宝在手机上
然后选择上方的空白框,输入要下载的应用和手游名
然后找到了应用或者手游后,直接进行下载安装就可以了

㈢ 初级程序员考试内容

主要考试科目是两科:上午是综合知识,75道单选题;下午是应用技术,5道案例题,主要考流程图1题,C语言3题,C++和JAVA二选一,以填空题和选择题为主。

㈣ c++经典面试题及答案

1. C++的类和C里面的struct有什么区别?

struct成员默认访问权限为public,而class成员默认访问权限为private

2. 析构函数和虚函数的用法和作用

析构函数是在对象生存期结束时自动调用的函数,用来释放在构造函数分配的内存。

虚函数是指被关键字virtual说明的函数,作用是使用C++语言的多态特性

3. 全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道的?

1) 全局变量的作用用这个程序块,而局部变量作用于当前函数

2) 前者在内存中分配在全局数据区,后者分配在栈区

3) 生命周期不同:全局变量随主程序创建和创建,随主程序销毁而销毁,局部变量在局部函数内部,甚至局部循环体等内部存在,退出就不存在

4) 使用方式不同:通过声明后全局变量程序的各个部分都可以用到,局部变量只能在局部使用

4. 有N个大小不等的自然数(1–N),请将它们由小到大排序.要求程序算法:时间复杂度为O(n),空间复杂度为O(1)。

void sort(int e[], int n)

{

int i;

int t;

for (i=1; i {

t = e[e[i]];

e[e[i]] = e[i];

e[i] = t;

}

}

5. 堆与栈的去区别

A. 申请方式不同

Stack由系统自动分配,而heap需要程序员自己申请,并指明大小。

B. 申请后系统的响应不同

Stack:只要栈的剩余空间大于申请空间,系统就为程序提供内存,否则将抛出栈溢出异常

Heap:当系统收到程序申请时,先遍历操作系统中记录空闲内存地址的链表,寻找第一个大于所申请空间的堆结点,然后将该结点从空间结点链表中删 除,并将该结点的空间分配给程序。另外,大多数系统还会在这块内存空间中的首地址处记录本次分配的大小,以便于delete语句正确释放空间。而且,由于 找到的堆结点的大小不一定正好等于申请的大小,系统会自动将多余的那部分重新放入空闲链表。

C. 申请大小限制的不同

Stack:在windows下,栈的大小是2M(也可能是1M它是一个编译时就确定的常数),如果申请的空间超过栈的剩余空间时,将提示overflow。因此,能从栈获得的空间较小。

Heap:堆是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存。由此可见,堆获得的空间比较灵活,也比较大。

D. 申请效率的比较:

栈由系统自动分配,速度较快。但程序员是无法控制的。

堆是由new分配的内存,一般速度比较慢,而且容易产生内存碎片,不过用起来最方便。

另外,在WINDOWS下,最好的方式是用VirtualAlloc分配内存,他不是在堆,也不是在栈是直接在进程的地址空间中保留一快内存,虽然用起来最不方便。但是速度快,也最灵活。

E. 堆和栈中的存储内容

栈:在函数调用时,第一个进栈的是主函数中后的下一条指令(函数调用语句的下一条可执行语句)的地址,然后是函数的各个参数,在大多数的C编译器 中,参数是由右往左入栈的,然后是函数中的局部变量。注意静态变量是不入栈的。当本次函数调用结束后,局部变量先出栈,然后是参数,最后栈顶指针指向最开 始存的地址,也就是主函数中的下一条指令,程序由该点继续运行。

堆:一般是在堆的.头部用一个字节存放堆的大小。堆中的具体内容有程序员安排。

6. 含参数的宏与函数的优缺点

宏: 优点:在预处理阶段完成,不占用编译时间,同时,省去了函数调用的开销,运行效率高

缺点:不进行类型检查,多次宏替换会导致代码体积变大,而且由于宏本质上是字符串替换,故可能会由于一些参数的副作用导致得出错误的结果。

函数: 优点:没有带参数宏可能导致的副作用,进行类型检查,计算的正确性更有保证。

缺点:函数调用需要参数、返回地址等的入栈、出栈开销,效率没有带参数宏高

PS:宏与内联函数的区别

内联函数和宏都是在程序出现的地方展开,内联函数不是通过函数调用实现的,是在调用该函数的程序处将它展开(在编译期间完成的);宏同样是;

不同的是:内联函数可以在编译期间完成诸如类型检测,语句是否正确等编译功能;宏就不具有这样的功能,而且宏展开的时间和内联函数也是不同的(在运行期间展开)

7. Windows程序的入口是哪里?写出Windows消息机制的流程

Windows程序的入口是WinMain()函数。

Windows应用程序消息处理机制:

A. 操作系统接收应用程序的窗口消息,将消息投递到该应用程序的消息队列中

B. 应用程序在消息循环中调用GetMessage函数从消息队列中取出一条一条的消息,取出消息后,应用程序可以对消息进行一些预处理。

C. 应用程序调用DispatchMessage,将消息回传给操作系统。

D. 系统利用WNDCLASS结构体的lpfnWndProc成员保存的窗口过程函数的指针调用窗口过程,对消息进行处理。

8. 如何定义和实现一个类的成员函数为回调函数

A.什么是回调函数?

简而言之,回调函数就是被调用者回头调用调用者的函数。

使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个被调用函数。而该被调用函数在需要的时候,利用传递的地址调用回调函数。

回调函数,就是由你自己写的,你需要调用另外一个函数,而这个函数的其中一个参数,就是你的这个回调函数名。这样,系统在必要的时候,就会调用你写的回调函数,这样你就可以在回调函数里完成你要做的事。

B.如何定义和实现一个类的成员函数为回调函数

要定义和实现一个类的成员函数为回调函数需要做三件事:

a.声明;

b.定义;

c.设置触发条件,就是在你的函数中把你的回调函数名作为一个参数,以便系统调用

如:

一、声明回调函数类型

typedef void (*FunPtr)(void);

二、定义回调函数

class A

{

public:

A();

static void callBackFun(void) //回调函数,必须声明为static

{

cout<<"callBackFun"<

}

virtual ~A();

};

三、设置触发条件

void Funtype(FunPtr p)

{

p();

}

void main(void)

{

Funtype(A::callBackFun);

}

C. 回调函数与API函数

回调和API非常接近,他们的共性都是跨层调用的函数。但区别是API是低层提供给高层的调用,一般这个函数对高层都是已知的;而回调正好相反, 他是高层提供给底层的调用,对于低层他是未知的,必须由高层进行安装,这个安装函数其实就是一个低层提供的API,安装后低层不知道这个回调的名字,但它 通过一个函数指针来保存这个回调函数,在需要调用时,只需引用这个函数指针和相关的参数指针。

其实:回调就是该函数写在高层,低层通过一个函数指针保存这个函数,在某个事件的触发下,低层通过该函数指针调用高层那个函数。

㈤ (特急)《Java程序设计》理论题库—判断题(要准确答案)

异常的抛出,就是将异常抛给异常处理器,暂时不去处理它。

摘要:《Java程序员面试指南》第7章异常处理及内存管理,本章讲述的是要想成功地成为一名合格的Java程序员,掌握好异常处理机制是编写大型程序必不可少的基本功。本节为大家介绍异常的处理方式之三:throw。
标签:throw Java 程序员 Java程序员面试指南
Oracle帮您准确洞察各个物流环节

7.4 异常的处理方式之三:throw(1)

异常的抛出,就是将异常抛给异常处理器,暂时不去处理它。本节主要讲解用throw抛出异常的方式,以及如何由try-catch来接收所抛出的异常。

当一个方法发生异常时可以通过throw关键字来抛出异常,把异常抛给它上一级的调用者,抛出的可以是异常引用,也可以是异常对象,它的语法格式如下:

throw 异常对象名; 或者

throw new 异常类名(); 一条throw语句一旦被执行,程序立即转入相应的异常处理程序段,它后面的语句就不再执行了(这一点类似于return语句),而且它所在的方法也不再返回有意义的值。在一个方法中,throw语句可以有多条,但每一次最多只能执行其中的一条。在一般情况下,throw语句都会写在判断语句块中,以避免每次都执行该语句。

【代码剖析】下面来看一个例子,也许从中你会明白点什么。具体代码如下:

public class catchThows { static int x; public static void main(String argv[]) { double a = Math.random() * 10; if (x > 0) System.out.println(a / x); else throw new Exception(); // 抛出异常 } public void setX(int x) { this.x = x; } } 运行结果如图7.1所示。

(点击查看大图)图7.1 运行结果
从上面的运行结果中可以看出,一个方法中如果使用throw来抛出异常,要么自己捕获它,要么声明抛出了一个异常。要声明抛出了异常,需要用throws关键字在方法的头部声明。如果我们将上面的代码修改成下面的代码,那么结果又会怎样呢?
public class catchThows_1 { static int x; public static void main(String argv[]) { new catchThows().setX(0); double a = Math.random() * 10; if (x > 0) System.out.println(a / x); else try { throw new Exception();// 抛出异常 } catch (Exception e) { System.out.println("出现异常的原因是:"+e.getMessage()); } } public void setX(int x) { this.x = x; } } 运行结果如下:

出现异常的原因是:null 还有一种抛出异常的方法是让被调用的方法表示它将不处理异常,该异常将被抛出到它的调用方法中。这点是和throws声明异常很相似的,但它们的位置是完全不同的。具体代码如下:

public class catchThows_2 { void findThows() { try { //抛出方法 throw new ArithmeticException(); } catch(ArithmeticException ae) { throw ae; } } public static void main(String args[]) { catchThows ct=new catchThows(); //对方法进行异常处理 try { ct.findThows(); } catch(ArithmeticException ae) { System.out.println("出现异常的原因是:"+ae); } } } 运行结果如下:

出现异常的原因是:java.lang.ArithmeticException
【责任编辑:云霞 TEL:(010)68476606】

回书目 上一节 下一节

上一篇: 7.3 异常的处理方式之二:throws(2) 下一篇: 7.4 异常的处理方式之三:throw(2)
相关文章
·7.5 内存的管理(2)
·7.4 异常的处理方式之三:throw(2)
·17.3 Java高级编程试题(1)
·17.1 Java基础编程试题(6)
·17.1 Java基础编程试题(5)
频道热门
·自己动手写搜索引擎
·1.1.2 编写代码(15分钟)
·1.1.1 准备工作环境(10分钟)
·软件调试的艺术
·WCF编程(第2版)

㈥ 程序员面试问题及答案

程序员面试问题及答案

程序员是从事程序开发、维护的专业人员。我整理的程序员面试问题及答案,希望大家喜欢!

1、两柱香问题

题目:有两柱不均匀的香,每柱香燃烧完需要1个小时,问:怎样用两柱香切出一个15分钟的时间段?这个题的重点就是怎么切。

解答:将甲香的一头点着,将乙香的两头点着,当乙香燃烧完时,说明已经过了半个小时,同时也说明甲香也正好燃烧了一半,此时,将甲香的另一头点着,从此时起到甲香完全烧完,正好15分钟。

2、灯管问题

在房里有三盏灯,房外有三个开关,在房外看不见房内的情况,你只能进门一次,你用什么方法来区分那个开关控制那一盏灯?

解答:打开一盏灯10分钟,关掉,打开第二盏,进去看看哪盏亮,摸摸哪盏热,热的是第一个打开的开关开的,亮的是第二个开关开的',另一个就是第三个。

3、两位盲人问题

他们都各自买了两对黑袜和两对白袜,八对袜了的布质、大小完全相同,而每对袜了都有一张商标纸连着。两位盲人不小心将八对袜了混在一起。 他们每人怎样才能取回黑袜和白袜各两对呢?

答案:每一对分开,一人拿一只,因为袜子不分左右脚的;

4、果冻问题

你有一桶果冻,其中有黄色,绿色,红色三种,闭上眼睛,同时抓取两个果冻。抓取多少个就可以确定你肯定有两个同一颜色的果冻?

答案:2次4个!

5、喝啤酒问题

假如每3个空啤酒瓶可以换一瓶啤酒,某人买了10瓶啤酒,那么他最多可以喝到多少瓶啤酒?

答案:喝完10瓶后用9个空瓶换来3瓶啤酒(喝完后有4个空瓶)喝完这三瓶又可以换到1瓶啤酒(喝完后有2个空瓶),这时他有2个空酒瓶,如果他能向老板先借一个空酒瓶,就凑够了3个空瓶可以换到一瓶啤酒,把这瓶喝完后将空瓶还给老板就可以了。

所以他最多可以喝10+3+1+1=15瓶

6、三人住旅馆

有三个人去住旅馆,住三间房,每一间房$10元,于是他们一共付给老板$30,第二天,老板觉得三间房只需要$25元就够了于是叫小弟退回$5给三位客人,谁知小弟贪心,只退回每人$1,自己偷偷拿了$2,这样一来便等于那三位客人每人各花了九元,于是三个人一共花了$27,再加上小弟独吞了不$2,总共是$29。可是当初他们三个人一共付出$30那么还有$1呢?

答案:他们所消费的27元里已经包括小弟的2元了,再加退还的3元=30元。这种题一定不要乱了阵脚,根据一条思路做:这30元现在的分布是:老板拿25元,伙计拿2元,三人各拿1元,正好!

7、三筐苹果问题

有三筐水果,一筐装的全是苹果,第二筐装的全是橘子,第三筐是橘子与苹果混在一起。筐上的标签都是骗人的,(就是说筐上的标签都是错的)你的任务是拿出其中一筐,从里面只拿一只水果,然后正确写出三筐水果的标签。

答案:从标着“混合”标签的筐里拿一只水果,就可以知道另外两筐装的是什么水果了。

分析:从混合的拿出一个来,如果是苹果,而贴苹果的筐里有可能是橘子和混合,如果是混合,说明贴橘子的筐里是橘子,不成立(因为前提说了,每个标签都是错的)。所以贴苹果的筐里是橘子,则贴橘子的筐里是混合。

8、汽车加油问题

一辆载油500升的汽车从A开往1000公里外的B,已知汽车每公里耗油量为1升,A处有无穷多的油,其他任何地点都没有油,但该车可以在任何地点存放油以备中转,问从A到B最少需要多少油

解答:严格证明该模型最优比较麻烦,但确实可证,大胆猜想是解题关键。题目可归结为求数列an=500/(2n 1) n=0,1,2,3......的和Sn什么时候大于等于1000,解得n>6当n=6时,S6=977.57,所以第一个中转点离起始位置距离为1000-977.57=22.43公里.所以第一次中转之前共耗油22.43*(2*7 1)=336.50升此后每次中转耗油500升,所以总耗油量为7*500 336.50=3836.50升。

9、两个人猜数问题

教授选出两个从2到9的数,把它们的和告诉学生甲,把它们的积告诉学生乙,让他们轮流猜这两个数, 甲说:“我猜不出”, 乙说:“我猜不出”, 甲说:“我猜到了”, 乙说:“我也猜到了”, 问这两个数是多少?

解答:3和4。设两个数为n1,n2,n1> =n2,甲听到的数为n=n1 n2,乙听到的数为m=n1*n2,证明n1=3,n2=4是唯一解。证明:要证以上命题为真,不妨先证n=7

1)必要性:

i) n> 5 是显然的,因为n <4不可能,n=4或者n=5甲都不可能回答不知道

ii) n> 6 因为如果n=6的话,那么甲虽然不知道(不确定2 4还是3 3)但是无论是2,4还是3,3乙都不可能说不知道(m=8或者m=9的话乙说不知道是没有道理的)

iii) n <8 因为如果n> =8的话,就可以将n分解成 n=4 x 和 n=6 (x-2),那么m可以是4x也可以是6(x-2)而4x=6(x-2)的必要条件是x=6即n=10,那样n又可以分解成8 2,所以总之当n> =8时,n至少可以分解成两种不同的合数之和,这样乙说不知道的时候,甲就没有理由马上说知道。以上证明了必要性。

2)充分性

当n=7时,n可以分解成2 5或3 4

显然2 5不符合题意,舍去,容易判断出3 4符合题意,m=12,证毕

于是得到n=7 m=12 n1=3 n2=4是唯一解。

10、猴子吃香蕉问题

一个小猴子边上有100 根香蕉,它要走过50 米才能到家,每次它最多搬50 根香蕉,每走1 米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。

解答:设 小猴从0 走到50, 到A 点时候他可以直接抱香蕉回家了, 可是到A 点时候他至少消耗了3A 的香蕉( 到A, 回0, 到A), 一个限制就是小猴只能抱50 只香蕉, 那么在A 点小猴最多49 只香蕉.100-3A=49, 所以A=17. 这样折腾完到家的时候香蕉剩100-3A-(50-A)=50-2A=16.


;

㈦ 《挑战编程技能57道程序员功力测试题》pdf下载在线阅读全文,求百度网盘云资源

《挑战编程技能》(Brian P. Hogan)电子书网盘下载免费在线阅读

链接:

提取码: 7swk

书名:挑战编程技能

作者:Brian P. Hogan

译者:臧秀涛

豆瓣评分:5.0

出版社:人民邮电出版社

出版年份:2017-2

页数:136

内容简介:

新手程序员在具备了理论基础后,面对实际项目时,往往不知道如何解决问题;有经验的程序员在学习了一门新语言后,也会有很多不知道如何使用的特性。针对程序员的这一普遍困惑,资深软件工程师Brian P. Hogan在这本书中总结了57道练习题,教他们如何锤炼技能。这些练习题的难度会逐渐增加,使得编程训练充满挑战又乐趣多多。

作者简介:

Brian P. Hogan

Web开发者、教师、作者、编辑。自1995年起一直在开发Web站点和应用。曾是多家小企业的自由开发者,并在两家创业公司担任过技术主管。经常在各种技术大会上发表演讲。目前在契皮瓦谷技术学院教授软件开发课程。喜欢撰写技术着作,尤其是关于Web设计和开发的。另着有《HTML5和CSS3实例教程》《Web开发秘方》等书。Twitter账号@bphogan。

阅读全文

与程序员技能竞赛题库相关的资料

热点内容
黑马程序员主打教学是什么 浏览:39
python九乘法表怎么编写 浏览:972
思维方式pdf 浏览:654
tcc社区app怎么注册 浏览:937
央视网下载加密 浏览:452
命令行访问服务器 浏览:36
梁加密区箍筋是不是必须封闭箍筋 浏览:760
在百度地图如何定位服务器地址 浏览:570
单片机计数器中断 浏览:296
哈啰安装文件夹名称 浏览:294
解压视频声控用杯子玩泡沫 浏览:740
19年的普通安卓机怎么样了 浏览:604
如何在app上刷导游题目 浏览:861
子弹解压视频大全 浏览:323
鸿蒙加密等级 浏览:806
cocos2dluapdf 浏览:493
假的加密锁靠谱吗 浏览:176
经营圣手服务器怎么调 浏览:749
arduino手机编程 浏览:481
西医pdf下载 浏览:29