HSBC的笔试题目
- 文档
- 2024-06-17
- 110热度
- 0评论
下面是小编为大家整理的HSBC的笔试题目,本文共8篇,仅供大家参考借鉴,希望大家喜欢,并能积极分享!
HSBC的笔试题目
一是数字部分,给你一些图表(共8个)
35分钟回答35道问题
确实是需要计算器的
但是不要每个题都用计算器算
要适当地运用排除法
否则时间一定来不及
二是英文部分
给出12个短文
然后每个短文后有4道题
(共48道题)
共25分钟
每个题都只有三个选项
对/错/
所以你只要忠实于所给出的'短文
第一时间作出判断
一定要抓紧时间
(不然就会象我,时间到了还有好多题没答
哎,分母是当定了,
HSBC的笔试题目
准备技巧:
1。据说和KPMG的考题很象,可以上KPMG的网站上做做样题
2。可以做做GRE的数学题
3。迅速是第一位的,准确率是第二位的
1、有一个名人和很多平民在一块,平民都认识这个名人,但是这个名人不认识任何一个平民,任意两个平民之间是否认识是未知的,请设计一个算法,快速找个这个人中的那个名人。 已知已经实现了一个函数 bool know(int a,int b) 这个函数返回true的时候,表明a认识b,返回false的时候表明a不认识b。
思路:首先将n个人分为n/2组,每一组有2个人,然后每个组的两个人调用这个know函数,假设为know(a,b),返回true的时候说明a认识b,则a肯定不是名人,a可以排除掉了,依次类推,每个组都调用这个函数依次,那么n个人中就有n/2个人被排除掉了,数据规模将为n/2。同理在剩下的n/2个人中在使用这个方法,那么规模就会将为n/4,这样所有的遍历次数为n/2+n/4+n/8+........ 这个一个等比数列,时间复杂度为o(n)。
2、进程切换需要注意哪些问题?
保存处理器PC寄存器的值到被中止进程的私有堆栈; 保存处理器PSW寄存器的值到被中止进程的私有堆栈; 保存处理器SP寄存器的值到被中止进程的进程控制块;
保存处理器其他寄存器的值到被中止进程的私有堆栈; 自待运行进程的进程控制块取SP值并存入处理器的寄存器SP; 自待运行进程的私有堆栈恢复处理器各寄存器的值;
自待运行进程的私有堆栈中弹出PSW值并送入处理器的PSW; 自待运行进程的私有堆栈中弹出PC值并送入处理器的PC。
3、输入一个升序数组,然后在数组中快速寻找两个数字,其和等于一个给定的值。
这个编程之美上面有这个题目的,很简单的,用两个指针一个指向数组前面,一个指向数组的后面,遍历一遍就可以了。
4、判断一个自然数是否是某个数的平方。当然不能使用开方运算。
方法1:
遍历从1到N的数字,求取平方并和N进行比较。
如果平方小于N,则继续遍历;如果等于N,则成功退出;如果大于N,则失败退出。
复杂度为O(n^0.5)。
方法2:
使用二分查找法,对1到N之间的数字进行判断。
复杂度为O(log n)。
方法3:
由于
(n+1)^2
=n^2 + 2n + 1,
= ...
= 1 + (2*1 + 1) + (2*2 + 1) + ... + (2*n + 1)
注意到这些项构成了等差数列(每项之间相差2)。
所以我们可以比较 N-1, N - 1 - 3, N - 1 - 3 - 5 ... 和0的关系。
如果大于0,则继续减;如果等于0,则成功退出;如果小于 0,则失败退出。
复杂度为O(n^0.5)。不过方法3中利用加减法替换掉了方法1中的乘法,所以速度会更快些。
例如:3^2 = 9 = 1 + 2*1+1 + 2*2+1 = 1 + 3 + 5
4^2 = 16 = 1 + 2*1 + 1 + 2*2+1 + 2*3+1
int square(int n)
{
int i = 1;
n = n - i;
while( n >0 )
{
i += 2;
n -= i;
}
if( n == 0 ) //是某个数的平方
return 1;
else //不是某个数的平方
return 0;
}
一、算法设计
1、设rand(s,t)返回[s,t]之间的随机小数,利用该函数在一个半径为R的圆内找随机n个点,并给出时间复杂度分析。
思路:这个使用数学中的极坐标来解决,先调用[s1,t1]随机产生一个数r,归一化后乘以半径,得到R*(r-s1)/(t1-s1),然后在调用[s2,t2]随机产生一个数a,归一化后得到角度:360*(a-s2)/(t2-s2)
2、为分析用户行为,系统常需存储用户的一些query,但因query非常多,故系统不能全存,设系统每天只存m个query,现设计一个算法,对用户请求的query进行随机选择m个,请给一个方案,使得每个query被抽中的概率相等,并分析之,注意:不到最后一刻,并不知用户的总请求量。
思路:如果用户查询的数量小于m,那么直接就存起来。如果用户查询的数量大于m,假设为m+i,那么在1-----m+i之间随机产生一个数,如果选择的是前面m条查询进行存取,那么概率为m/(m+i),如果选择的是后面i条记录中的查询,那么用这个记录来替换前面m条查询记录的概率为m/(m+i)*(1-1/m)=(m-1)/(m+i),当查询记录量很大的时候,m/(m+i)== (m-1)/(m+i),所以每个query被抽中的概率是相等的。
3、C++ STL中vector的相关问题:
(1)、调用push_back时,其内部的内存分配是如何进行的?
(2)、调用clear时,内部是如何具体实现的?若想将其内存释放,该如何操作?
vector的工作原理是系统预先分配一块CAPACITY大小的空间,当插入的数据超过这个空间的时候,这块空间会让某种方式扩展,但是你删除数据的时候,它却不会缩小。
vector为了防止大量分配连续内存的开销,保持一块默认的尺寸的内存,clear只是清数据了,未清内存,因为vector的capacity容量未变化,系统维护一个的默认值。
有什么方法可以释放掉vector中占用的全部内存呢?
标准的解决方法如下
template
void ClearVector( vector& vt )
{
vectorvtTemp;
veTemp.swap( vt );
}
事实上,vector根本就不管内存,它只是负责向内存管理框架acquire/release内存,内存管理框架如果发现内存不够了,就malloc,但是当vector释放资源的时候(比如destruct), stl根本就不调用free以减少内存,因为内存分配在stl的底层:stl假定如果你需要更多的资源就代表你以后也可能需要这么多资源(你的list, hashmap也是用这些内存),所以就没必要不停地malloc/free。如果是这个逻辑的话这可能是个trade-off
一般的STL内存管理器allocator都是用内存池来管理内存的,所以某个容器申请内存或释放内存都只是影响到内存池的剩余内存量,而不是真的把内存归还给系统。这样做一是为了避免内存碎片,二是提高了内存申请和释放的效率――不用每次都在系统内存里寻找一番。
二、系统设计
正常用户端每分钟最多发一个请求至服务端,服务端需做一个异常客户端行为的过滤系统,设服务器在某一刻收到客户端A的一个请求,则1分钟内的客户端任何其它请求都需要被过滤,现知每一客户端都有一个IPv6地址可作为其ID,客户端个数太多,以至于无法全部放到单台服务器的内存hash表中,现需简单设计一个系统,使用支持高效的过滤,可使用多台机器,但要求使用的机器越少越好,请将关键的设计和思想用图表和代码表现出来。
三、求一个全排列函数:
如p([1,2,3])输出:
[123]、[132]、[213]、[231]、[321]、[323]
求一个组合函数
如p([1,2,3])输出:
[1]、[2]、[3]、[1,2]、[2,3]、[1,3]、[1,2,3]
这两问可以用伪代码。
1、对于如下程序:
#include
using namespace std;
class A
{
public:
A
{
cout
}
};
int main(void)
{
A a[4], b,*p;
}
会输出多少个A?( C )
A、2 B、3 C、5 D、6
p只是一个对象指针,并没有指向一个对象的内存空间,所以没有调用构造函数。
2、头文件中的 ifndef/define/endif 有什么作用?
答:防止该头文件被重复引用,避免变量、类型等被重新定义。
3、const 有什么用途?(请至少说明两种)
答:(1)可以定义 const 常量。
(2)const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。
4、如下的字符串函数,用于生存一个字符串 ”连接号码异常” ,并返回它的指针
char* strfun()
{
char str[20];
strcpy(str, “连接号码异常”);
printf(“%s n”, str); //printf语句1
return str;
}
void main()
{
char *pstr = strfun();
printf(“%s n”, pstr); //printf语句2
}
问题1 : printf语句1和printf语句2哪个能在屏幕上正在打印出来?
问题2 : 如果不能正常在屏幕上打印出字符串,请说明原因。
问题3 : 如果不修改strfun的声明,请问该如何修改上述程序的错误。
答:
问题1:语句1可以正常打印,语句2不能正常打印;
问题2:语句2使用的指针所指向的内存空间str[20],在函数strfun返回时已经被释放了;
问题3:可以将函数strfun中的语句char str[20];改为char *str = new char[20];
5、下面是交换两个double型数据的函数,
void swap( double* p1, double* p2 )
{
double *p;
*p = *p1;
*p1 = *p2;
*p2 = *p;
}
void main()
{
double a = 0.1;
double b = 0.2;
swap( &a, &b );
}
请找出上述代码的错误,指出错误的原因,并改正。
答:函数swap中混淆了double型指针与double型变量的差别,对于一个未初始化的指针访问其内存空间是非常危险的。对swap函数修改如下:
void swap( double* p1, double* p2 )
{
double p;
p = *p1;
*p1 = *p2;
*p2 =p;
}
6、在电信业务的后台处理程序中,经常会涉及到处理字符串,除了用char *处理字符串之外,C++还为我们提供了封装了的字符串类string,其本质也是用一个动态数组来保存字符串,类String的原型为:
class String
{
public:
String(const char *str = NULL); // 普通构造函数
String(const String &other); // 拷贝构造函数
~String(void); // 析构函数
String & operate =(const String &other); // 赋值函数
private:
char *m_data; // 用于保存字符串
};
请编写String的上述4个函数普通构造函数、拷贝构造函数、析构函数和赋值函数。
代码如下:
class String
{
private:
char *m_data;
public:
String();
String(const char *str = NULL);
String(const String &other);
~String(void);
String & operator =(const String &other);
};
String::String()
{
m_data = NULL;
}
String::String(const char *str = NULL) //带一个指针的普通构造函数
{
if(str == NULL)
{
m_data = new char[1];
assert(m_data != NULL);
*m_data = '';
}
else
{
int length=strlen(str);
m_data = new char[length+1];
assert(m_data != NULL);
strcpy(m_data,str);
}
}
String::String(const String &other) //拷贝构造函数
{
m_data = new char[other.length+1];
assert(m_data != NULL);
strcpy((*this).m_data,other.m_data);
}
String::~String(void) //析构函数
{
if(m_data != NULL)
{
delete m_data;
m_data = NULL;
}
}
String & String::operator=(const String &other) //赋值函数
{
if(&other != this)
{
delete [](*this).m_data;
(*this).m_data = new char[other.length+1];
assert((*this).m_data != NULL);
strcpy((*this).m_data,other.m_data);
}
}
1、对于一个内存地址是32位、内存页是8KB的系统。0X0005F123这个地址的页号与页内偏移分别是多少。
2、如果X大于0并小于65536,用移位法计算X乘以255的值为: (X
X
3、一个包含n个节点的四叉树,每个节点都有四个指向孩子节点的指针,这4n个指针中有 3n+1 个空指针。
4、以下两个语句的区别是:第一个动态申请的空间里面的值是随机值,第二个进行了初始化,里面的值为0
int *p1 = new int[10];
int *p2 = new int[10]();
5、计算机在内存中存储数据时使用了大、小端模式,请分别写出A=0X123456在不同情况下的首字节是,大端模式:0X12 小端模式:0X56 X86结构的计算机使用 小端 模式。
一般来说,大部分用户的操作系统(如windows, FreeBsd,Linux)是小端模式的。少部分,如MAC OS,是大端模式 的。
6、在游戏设计中,经常会根据不同的游戏状态调用不同的函数,我们可以通过函数指针来实现这一功能,请声明一个参数为int *,返回值为int的函数指针:
int (*fun)(int *)
7、下面程序运行后的结果为:to test something
char str[] = “glad to test something”;
char *p = str;
p++;
int *p1 = static_cast(p);
p1++;
p = static_cast(p1);
printf(“result is %sn”,p);
8、在一冒险游戏里,你见到一个宝箱,身上有N把钥匙,其中一把可以打开宝箱,假如没有任何提示,随机尝试,问:
(1)恰好第K次(1=
(2)平均需要尝试多少次。
这个就是求期望值 由于每次打开宝箱的概率都是1/n,则期望值为: 1*(1/n)+2*(1/n)+3*(1/n)+......+n*(1/n) = (n+1)/2
一、单选题:
1、色彩深度是指在一个图像中____________的数量。
A、颜色
B、饱和度*
C、亮度
D、灰度
2、当将CMYK模式的图像转换为多通道模式时,产生的通道名称是:___________
A、青色、洋红、黄色、黑色*
B、青色、洋红、黄色
C、四个名称都是Alpha 通道
D、四个名称都是Black (黑色通道)
3、在Photoshop中的空白区域,双击可以实现____________
A、新建一个空白文档
B、新建一幅图片
C、打开一幅图片*
D、只能打开一幅扩展名为.psd的文件
4、按住Ctrl键在Photoshop中的空白区域双击可以实现____________
A、新建一个空白文档*
B、新建一幅图片
C、打开一幅图片
D、只能打开一幅扩展名为.psd的文件
5、文件菜单中的“打开为”菜单项的作用是____________
A、打开一个新的图片
B、只能打开一个扩展名为.psd的文件*
C、打开一个新建文件
D、打开所有格式的图片文件
6、下列哪种工具可以选择连续的相似颜色的区域:____________
A、矩形选框工具
B、椭圆选框工具
C、魔棒工具*
D、磁性套索工具
7、为了确定磁性套索工具对图像边缘的敏感程度,应调整下列哪个数值:____________
A、容差
B、边对比度*
C、颜色容差
D、套索宽度
8、在色彩范围对话框中为了调整颜色的范围,应当调整:___________
A、反相
B、消除锯齿
C、颜色容差*
D、羽化
9、变换选区命令不可以对选择范围进行哪个编辑:____________
A、缩放
B、变形
C、不规则变形*
D、旋转
10、在路径曲线线段上,方向线和方向点的位置决定了曲线段的:____________
A、角度
B、形状*
C、方向
D、像素
11、若要进入快速蒙版状态,应该:____________
A、建立一个选区*
B、选择一个Alpha 通道
C、单击工具箱中的快速蒙版图标
D、单击编辑菜单中的快速蒙版
12、若想使各颜色通道以彩色显示,应选择下列哪个命令设定:___________
A、显示与光标*
B、图像高速缓存
C、透明度与色域
D、单位与标尺
13、Alpha 通道最主要的用途是____________
A、保存图像色彩信息
B、创建新通道
C、用来存储和建立选择范围*
D、为路径提供的通道
14、移动图层中的图像时,如果每次需移动10 个象素的距离,应___________
A、按住Alt键的同时按键盘上的箭头键
B、按住Tab 键的同时按键盘上的箭头键
C、按住Ctrl的同时按键盘上的箭头键
D、按住Shift 键的同时按键盘上的箭头键*
15、哪种类型的图层可以将图像自动对齐和分布:____________
A、调节图层
B、链接图层*
C、填充图层
D、背景图层
16、滤镜中的__________效果,可以使图像呈现塑料纸包住的效果;该滤镜使图像表面产生高光区域,好像用塑料纸包住物体时产生的效果。
A、塑料包装*
B、塑料效果
C、基底凸现
D、底纹效果
17、在photoshop 7.0中__________是最重要、最精彩、最不可缺少的一部分 ,是一种特殊的软件处理模块,也是一种特殊的图像效果处理技术。
A、图层
B、蒙版
C、工具
D、滤镜*
18、PHOTOSHOP生成的文件默认的文件格式扩展名为____________
A、JPG
B、PDF
C、PSD*
D、TIF
19、图象的分辩率为300象素每英寸,则每平方英寸上分布的象素总数为_________ A、600
B、900
C、60000
D、90000*
20、HSB中的H是指________
A、色相*
B、明度
C、亮度
D、纯度
21、一个8位图像支持的颜色有_____________
A、16种
B、256种*
C、65536种
D、1677万种
22、photoshop最多可以设置的暂存盘的数目是__________
A、3个
B、4个
C、5个
D、6个
23、photoshop缺省时,设置的保留历史状态数是_____________
A、20次*
B、50次
C、99次
D、无限制
24、在对话框中,压住______键,可使取消按钮变成复位按钮。
A、Shift
B、Alt*
C、Ctrl
D、space(空格)
25、当图像偏蓝时,使用变化功能应当给图像增加何种颜色:____________
A、蓝色
B、绿色
C、黄色*
D、洋红
26、如果扫描的图像不够清晰,可用下列哪些滤镜弥补:____________
A、噪音
B、风格化
C、锐化*
D、扭曲
27、下列哪种格式不支持无损失压缩:____________
A、PNG
B、JPEG*
C、PHOTOSHOP
D、GIF
28、下列哪种格式用于网页中的图像制作:____________
A、EPS
B、DCS 2.0
C、TIFF
D、JPEG*
29、下列哪种格式支持图层:____________
A、PSD*
B、JPG
C、BMP
D、DCS 2.0
30、当使用JPEG 作为优化图像的格式时:____________
A、JPEG 虽然不能支持动画,但它比其它的优化文件格式(GIF和PNG)所产生的文件一定小
B、当图像颜色数量限制在256 色以下时,JPEG 文件总比GIF 的大一些
C、图像质量百分比值越高,文件越大*
D、图像质量百分比值越高,文件越小
31、下面对于高斯模糊叙述正确的是:____________
A、可以对一幅图像进行比较精细的模糊。
B、对图像进行很大范围的调整,产生区间很大的各种模糊效果。*
C、使选区中的图像呈现出一种拍摄高速运动中的物体的模糊效果。
D、用于消除图像中颜色明显变化处的杂色,使图像变得柔和。
32、使用钢笔工具可以绘制出最简单的线条是什么:____________
A、直线*
B、曲线
C、描点
D、像素
33、图层控制面板的快捷键是:___________
A、F6
B、F7*
C、F8
D、F9
34、下列可以使图像产生立体光照效果的滤镜是____________
计算机一级ps考试试题及答案计算机等级考试题库 A、风
B、等高线
C、浮雕效果*
D、照亮边缘
35、下列哪个不属于在图层面板中可以调节的参数___________
A、透明度
B、编辑锁定
C、显示隐藏当前图层
D、图层的大小*
36、Alpha 通道相当于几位的灰度图:____________
A、4位
B、8位
C、16位*
D、32位
37、在图层面板中,按住___________的同时单击垃圾桶图标,可直接将选中的通道删除。
A、Shift
B、Alt*
C、Ctrl
D、space
38、按住下列哪个键可保证椭圆选框工具绘出的是正圆形__________
A、Shift*
B、Alt
C、Ctrl
D、Caps Lock
39、当你使用魔棒工具在图像上单击,只有一个像素被选中,容差的值最可能是__________ A、255
B、256
C、1
D、0*
40、当单击路径调板下方的“用前景色填充路径”图标时,若想弹出填充路径的设置对话框,应同时按住下列的___________键
A、Shift
B、Ctrl
C、Alt*
D、Shift+ctrl
程序设计相关笔试题目
一: 写入如下程序的运行结果
1、
public class Test {
int i = 1;
int j = 3;
public Test(int m, int n){
this.i = m;
this.j = n;
}
public Test{}
public static void main(String[] args) {
new Test().test();
}
public void test(){
new Test(4,2);
System.out.println(“i=”+i+“,j=”+j);
}
}
我写的是 i=2, j=4, 而实际上的`运行结果为i=1, j=3。
2、
public class A {
public int Avar;
public A(){
System.out.println(“AAA”);
doSomething();
}
public void doSomething(){
Avar = 1111;
System.out.println(“A.doSomething()”);
}
}
public class B extends A {
public int Bvar = 2222;
public B(){
System.out.println(“BBBB”);
doSomething();
System.out.println(“Avar=”+Avar);
}
public void doSomething(){
System.out.println(“Bvar=”+Bvar);
}
public static void main(String[] args) {
new B();
}
}
我写的运行结果为:
AAA
A.doSomething()
BBB
2222
1111
而实际运行结果为:
AAA
Bvar=0
BBB
Bvar=2222
Avar=0
3、 Interger integer;
if(integer==42){ do something ... }。 次代码片段在运行时抛 空指针异常。 因为Integer为非基本类型的变量, 其默认值为null, 所以 .... ...
4、
/**
* 测试 string 的
*/
public static void main(String[] args) {
String str1 = new String(“A”);
String str2 = new String(“B”);
operateString(str1, str2);
System.out.println(“str1=”+str1+“,str2=”+str2);
int x=10;
operateInt(x);
System.out.println(x);
StringBuffer str3 = new StringBuffer(“A”);
StringBuffer str4 = new StringBuffer(“B”);
operateStringBuffer(str3, str4);
System.out.println(“str3=”+str3+“,str4=”+str4);
testOperator();
}
public static void operateString(String a, String b){
a.concat(b);
b=a;
}
public static void operateInt(int x){
x = x+100;
}
public static void operateStringBuffer(StringBuffer a, StringBuffer b){
a.append(“B”);
b=a;
}
输出结果为: A, B, 10, AB, B. 此题给出了正解,
5、String 类型的变量也支持重载符: “+=”。
6、 编程题, 实现 归并排序算法:
public class MergeSort2 {
public int[] sort(int[] data) {
int[] temp=new int[data.length];
mergeSort(data,temp,0,data.length-1);
return data;
}
private void mergeSort(int[] data,int[] temp,int l,int r){
int mid=(l+r)/2;
System.out.println(l+“, ”+mid+“, ”+r);
if(l==r) return ;
mergeSort(data,temp,l,mid);
mergeSort(data,temp,mid+1,r);
for(int i=l;i
System.out.println(“i=”+i);
temp[i]=data[i];
}
int i1=l;
int i2=mid+1;
for(int cur=l;cur
if(i1==mid+1)
data[cur]=temp[i2++];
else if(i2>r)
data[cur]=temp[i1++];
else if(temp[i1]
data[cur]=temp[i1++];
else
data[cur]=temp[i2++];
}
}
/**
* @param args
*/
public static void main(String[] args) {
int[] datas={1,21,34,79,98,23,68,2,3,8,6,33,6,7,87,32,24,6,776};
MergeSort2 mergeSort=new MergeSort2();
datas=mergeSort.sort(datas);
for(int i=0;i
System.out.print(datas[i]+“,”);
}
}
}
篇8:JAVA笔试题目
JAVA笔试题目
1、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
SessionBean: Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机,当客户机第一次调用一个Stateful Session Bean 时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 的.方法时容器会把调用分派到与此客户机相关联的Bean实例。
EntityBean:Entity Beans能存活相对较长的时间,并且状态是持续的。只要数据库中的数据存在,Entity beans就一直存活。而不是按照应用程序或者服务进程来说的。即使EJB容器崩溃了,Entity beans也是存活的。Entity Beans生命周期能够被容器或者 Beans自己管理。
EJB通过以下技术管理实务:对象管理组织(OMG)的对象实务服务(OTS),Sun Microsystems的Transaction Service(JTS)、Java Transaction API(JTA),开发组(X/Open)的XA接口。
2、应用服务器有那些?
BEA WebLogic Server,IBM WebSphere Application Server,Oracle9i Application Server,jBoss,Tomcat
3、给我一个你最常见到的runtime exception。
ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException
4、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
接口可以继承接口,
抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。
5、List, Set, Map是否继承自Collection接口?
List,Set是,Map不是
6、说出数据连接池的工作机制是什么?
J2EE 服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量由配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
7、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
都不能
8、数组有没有length()这个方法? String有没有length()这个方法?
数组没有length()这个方法,有length的属性。String有有length()这个方法。
9、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。
equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。
10、构造器Constructor是否可被override?
构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。
11、是否可以继承String类?
String类是final类故不可以继承。
12、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是int、short、char 或者 byte。long,string 都不能作用于swtich。
13、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
会执行,在return前执行。
14、编程题: 用最有效率的方法算出2乘以8等於几?
2
15、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
不对,有相同的hash code。
16、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
★ 笔试题目
★ 传媒业笔试题目
★ 惠普笔试题目
★ EE笔试题目
★ 威盛笔试题目
★ 笔试题目6
★ 笔试题目信息
★ C/C笔试题目