2022年程序员笔试-葵花宝典 .pdf
《2022年程序员笔试-葵花宝典 .pdf》由会员分享,可在线阅读,更多相关《2022年程序员笔试-葵花宝典 .pdf(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、C+的虚类与纯虚类3.垃圾回收的优点和原理。并考虑2 种回收机制。Java 语言中一个显著的特点就是引入了垃圾回收机制,使 c+程序员最头疼的内存管理的问题迎刃而解,它使得 Java 程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java 中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记
2、垃圾回收,增量垃圾回收。4.请说出你所知道的线程同步的方法。wait():使一个线程处于等待状态,并且释放所持有的对象的lock。sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。6.Error与 Exception有什么区别?Error表示系统级的错误和
3、程序不必处理的异常,Exception表示需要捕捉或者需要程序进行处理的异常。7.在 java 中一个类被声明为final类型,表示了什么意思?表示该类不能被继承,是顶级类。9.heap和 stack 有什么区别。栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。堆是栈的一个组成元素10写一个方法,实现字符串的反转,如:输入abc,输出 cba public static String reverse(String s)int length=s.length();StringBuffer result=new StringBuffer(length);for
4、(int i=length-1;i=0;i-)result.append(s.charAt(i);return result.toString();3.数据类型之间的转换如何将数值型字符转换为数字(Integer,Double)如何将数字转换为字符如何去小数点前两位,并四舍五入。4.日 期 和时间如 何取 得 年月 日,小 时分秒Date dat=new Date();dat.getYear();dat.getMonth();dat.getDay();dat.getHours();.如何取得从1970 年到现在的毫秒数long now=dat.getTime();如何获取某个日期是当月的最后一
5、天如何格式化日期DateFormate df=DateFormate.getInstance();df.Format(dat);6.文件和目录(I/O)操作如何列出某个目录下的所有文件如何列出某个目录下的名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 11 页 -所有子目录判断一个文件或目录是否存在如何读写文件7、线程的基本概念、线程的本状态以及状态之间的关系?新建 (Born):新建的线程处于新建状态?就绪(Ready):在创建线程后,它将处于就绪状态,等待 start()方法被调用?运行 (Running):线程在开始执行时进入运行状态?睡眠 (Sleeping):线程的执行
6、可通过使用 sleep()方法来暂时中止。在睡眠后,线程将进入就绪状态?等待(Waiting):如果调用了 wait()方法,线程将处于等待状态。用于在两个或多个线程并发运行时。?挂起(Suspended):在临时停止或中断线程的执行时,线程就处于挂起状态。?恢复(Resume):在挂起的线程被恢复执行时,可以说它已被恢复。?阻塞 (Blocked)在线程等待一个事件时(例如输入/输出操作),就称其处于阻塞状态。?死亡(Dead)在 run()方法已完成执行或其 stop()方法被调用之后,线程就处于死亡状态。C+的虚类,纯虚类纯虚类就像是接口,可以多重继承虚类只是声明#include/fat
7、her class class Virtualbase public:virtual void Demon()=0;virtual void Base()coutthis is farther class;/sub class class SubVirtual:public Virtualbase public:void Demon()cout this is SubVirtual!void Base()coutthis is subclass BaseDemon();inst-Base();/inst=new Virtualbase();/inst-Base()return;名师资料总结-精
8、品资料欢迎下载-名师精心整理-第 2 页,共 11 页 -数据库方面:1.存储过程和函数的区别存储过程是用户定义的一系列sql 语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。2 事务是什么?事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:原子性,事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。一致性,事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必
9、须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。隔离性,由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。持久性,事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。3 游标的作用?如何知道游标已经到了最后?游标用于定位结果集的行,通过判断全局变量 FETCH
10、_STATUS可以判断是否到了最后,通常此变量不等于0 表示出错或到了最后。4 触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。1、动态查询如何实现?表的结构变化后,如果不需要修改程序,如何设计和实现查询?答:讲查询封装进存储过程中,通过调用存储过程实现动态调用;表结构发生变化后修改相应的存储过程即可再不修改程序的情况下实现查询。2、如何优化数据库,如何提高数据库的性能?
11、答:优化数据库主要是优化查询语句,通过高性能的查询语句提高数据库的性能。3、设计数据库应注意那些问题答:首先应尽量满足三范式的要求,在一定程度上打破3 范式的要求以提高数据库的性能。4、表与表之间的关联关系答:分为3 种:一对一、一对多、多对多。5、主键和外键的区别答:主键在本表中是唯一的、不可唯空的,外键可以重复可以唯空;外键和另一张表的主键关联,不能创建对应表中不存在的外键名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 11 页 -托普集团程序员面试试一、选择题(每题 1 分,共 20 分)1 下列那种语言是面向对象的(C)A.C B.PASCAL C.C+D.FORTRAN
12、77 2在 Windows9x 下,可以进入 MS-D0S 方式。当在 DOS 提示符下键入(B)命令后,系统将退出 MS-DOS方式,返回到 WIndows 方式。A.CLOSE B.EXIT C.QUIT D.RETURN 3下面哪些是面向对象的基本特性:(ABC)A 多态 B 继承 C 封装D 接口4在 C+中经常要进行异常处理,下面哪些是异常处理常用到的关键词:(ABC)A try B catch C throw D break E contiue 5数据库技术中的“脏数据,是指(C)的数据。A.错误 B.回返 C.未提交 D.未提交的随后又被撤消6TCP/IP 是一种(A,B)A.标
13、准 B.协议 C.语言 D.算法7 下面有关计算机操作系统的叙述中,不正确的是(B)A 操作系统属于系统软件 B 操作系统只负责管理内存储器,而不管理外存储器 C UNIX 是一种操作系统 D 计算机的处理器、内存等硬件资源也由操作系统管理8微机上操作系统的作用是(D)A 解释执行源程序 B 编译源程序C 进行编码转换 D 控制和管理系统资源9下列存储器中存取速度最快的是(A)A 内存 B 硬盘 C 光盘 D 软盘10 在计算机中,个字节是由多少个二进制位组成的(B)A.4 B.8 C.16 D.24 11.存储16 16 点阵的一个汉字信息,需要的字节数为(A)A 32 B 64 C 128
14、 D 256 12.以下选项中合法的字符常量是(BC)A.B B.010 C.68 D.D 13.假定 x 和 y 为 double 型,则表达式 x=2,y=x+3/2的值是(D)A.3.500000 B.3 C.2.000000 D.3.000000 14.以下合法的赋值语句是(BCD)/In C+,choice D also is correct,but in C language,D is wrong.A.x=y=100 B.d-;C.x+y;D.c=int(a+b);15.设正 x、y 均为整型变量,且 x=10 y=3,则以下语句pprintf(%d,%dn,x-,-y);的输出结
15、果是(D)A.10,3 B.9,3 C.9,2 D.10,2 16.x、y、z 被定义为int型变量,若从键盘给x、y、z 输入数据,正确的输入语句是(B)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.以 下 数 组 定 义 中 不 正 确 的 是(D)A)int a23;B)int b3=0,1,2,3;C)int c100100=0;D)int d3=1,2,1,2,3,1,2,3,4;18.以下程序的输出结果是(A)main()int a44=1,3,5,2,
16、4,6,3,5,7;名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 11 页 -printf(%d%d%d%dn,a03,a12,a21,a30;A)0650 B)1470 C)5430 D)输出值不定19 以下程序的输出结果是(B)main()char st20=hello0t;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)A:WM_PAINT B:WM_CREATE C:WM_NCHITTEST D:WM
17、_SETFOCUS 二、填空题(每题 3 分,共 30 分)1请列举当前一些当前流行的数据库引擎,SQL SERVER,ORACLE,BDE,Microsoft Jet。2为了将当前盘当前目录中的所有文本文件(扩展名为.TXT)的内容打印输出,正确的单条DOS命令为 COPY *.TXT PRN。3计算机网络分为局域网和广域网,因特网属于广域网。4.设 y 是 int型变量,请写出判断y 为奇效的关系表达y%2!=0。5.设有以下程序:main()int n1,n2;scanf(%d,&n2);while(n2!=0)n1=n2%10;n2=n2/10;printf(%d,n1);程序运行后,
18、如果从键盘上输入1298;则输出结果为8921。6以下程序运行后的输出结果是:9876 876 main()char s=9876,*p;for(p=s;ps+2;p+)printf(%sn,p);7以下函数的功能是:求x 的 y 次方,请填空。double fun(double x,int y)int i;double z;for(i=1,z=x;iy;i+)z=z*x ;return z;8以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用 ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。FILE*myf;long f1;myf=fop
19、en (test.t,rb);fseek(myf,0,SEEK_END);f1=ftell(myf);fclose(myf);printf(%dn,f1);9.以下程序输出的最后一个值是120。int ff(int n)static int f=l;f=f*n;return f;main()int i;for(I=1;I2);printf(%dn,j);三、判断题(每题 2 分,共 20 分)1:动态链结库不能静态调用。错误 2:UDP是面向无连接的网络连接正确 3:ASP是一种数据库引擎错误 4:队列是先进后出。错误 5:Weblogic 是分布式应用服务器。正确 6:TCP,UDP都是传输
20、层的协议。正确 7:两个线程不能共存于同一地址空间错误 8:JAVA是一种跨平台的开发工具正确 9 在 WINDOWS操作系统中对外设是以文件的方式进行管理正确 10.虚拟内存实际是创建在硬盘上的正确四、问答题(每题 10 分,共 30 分)1写出从数据库表Custom 中查询 No、Name、Num1、Num2 并将 Name以姓名显示、计名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 11 页 -算出的和以总和显示的SQL。SELECT No,Name AS 姓名,Num1,Num2,(Num1+Num2)AS 总和FROM Custom 1.何为“事务处理”,谈谈你对它的理
21、解。事务处理是指一个单元的工作,这些工作要么全做,要么全部不做。作为一个逻辑单元,必须具备四个属性:自动性、一致性、独立性和持久性。自动性是指事务必须是一个自动的单元工作,要么执行全部数据的修改,要么全部数据的修改都不执行。一致性是指当事务完成时,必须使所有数据都具有一致的状态。在关系型数据库中,所有的规则必须应用到事务的修改上,以便维护所有数据的完整性。所有的内部数据结构,在事务结束之后,必须保证正确。独立性是指并行事务的修改必须与其他并行事务的修改相互独立。一个事务看到的数据要么是另外一个事务修改这些事务之前的状态,要么是第二个事务已经修改完成的数据,但是这个事务不能看到正在修改的数据。3
22、.常用的数据结构有哪些?请枚举一些。(不少于5 个)链表、堆栈、二叉树、队列、图、堆,集合。4.什么是 OOP?什么是类?请对比类和对象实例之间的关系。OOP 是 Object_oriented Programming(面向对象编程)的缩写。这主要是为了区别于以前的面向过程的程序设计!指的是用对象的观点来组织与构建系统,它综合了功能抽象和数据抽象,这样可以减少数据之间的耦合性和代码的出错几率。使用面向对象编程技术可以使得软件开发者按照现实世界里人们思考问题的模式编写代码,可以让软件开发者更好地利用代码直接表达现实中存在的对象,将问题空间直接映射到解空间!类:即 class 在面向对象的程序设计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年程序员笔试-葵花宝典 2022 程序员 笔试 葵花宝典
限制150内