BAT笔试试题常见试题总结含答案(持续更新。。。)
(1)试题例如以下:
class A
{
int a;
short b;
int c;
char d;
};
class B
{
double a;
short b;
int c;
char d;
};
在32位机器上用gcc编译以上代码,求sizeof(A),sizeof(B)各自是多少。
12 16
12 12
16 24
16 20
答:C
依据下面条件进行计算:(核心知识点:结构体的对齐方式)
1、 结构体的大小等于结构体内最大成员大小的整数倍
2、 结构体内的成员的首地址相对于结构体首地址的偏移量是其类型大小的整数倍。比方说double型成员相对于结构体的首地址的地址偏移量应该是8的倍数。
3、 为了满足规则1和2编译器会在结构体成员之后进行字节填充!
A中,a占4个字节,b本应占2个字节。但由于c占4个字节。为了满足条件2。b多占用2个字节。为了满足条件1,d占用4个字节,一共16个字节。
B中。a占8个字节,b占2个字节,但由于c占4个字节。为了满足条件2,b多占用2个字节,
即abc共占用8+4+4=16个字节。
为了满足条件1,d将占用8个字节,一共24个字节。
(简单示意一下。)
为什么不把A中的char d补到short b上去,这是由于在结构体的顺序决定的!
(2)A公司打算搭建一个Andriod App下载的Web站点。计划将眼下常见的手机APP都放到这个站点上提供下载。
由于业务开展初期下载量非常小。技术部门就用了1台server。给server配置了一个公网IP对外进行服务。
随着销售部门的推广到位,用户量和下载量呈指数级上载,要求技术部门立即进行改造。假设你是技术部门经理。你会怎么改造这个站点。以满足高负载的需求。
提示:短时间改动站点的代码不现实,其它方面的各种改造建议都能够,建议越多越好。
答:主要用到重定向的方法
1.HTTP重定向
添加N台内部server。组成一个局域网,将APP复制N份放到内部server中,原来的server作为与因特网通信的接口。当原server收到client请求后。server选择一个负载最小的内部server,将client的请求重定向到该server
2.DNS重定向
原serverIP相应的域名解析到多个IP,用DNS轮转法选择合适的IP
3.IP地址转发
另外还能够进行代理的重定向
1.对APP资源进行多server备份。在每一个下载页面新增多个下载通道。
2.新增在下载时 需校验图像验证码。确保用户确实要下载内容,
(3)java接口的修饰符能够为? D
A.private
B.protected
C.final
D.abstract
答:1、抽象类中的抽象方法(其前有abstract修饰)不能用private、static、synchronized、native訪问修饰符修饰。原因例如以下:抽象方法没有方法体,是用来被继承的,所以不能用private修饰;static修饰的方法能够通过类名来訪问该方法(即该方法的方法体),抽象方法用static修饰没有意义;使用synchronized关键字是为该方法加一个锁。。而假设该关键字修饰的方法是static方法。
则使用的锁就是class变量的锁。假设是修饰 类方法。
则用this变量锁。
可是抽象类不能实例化对象,由于该方法不是在该抽象类中实现的。是在其子类实现的。
所以。锁应该归其子类全部。
所以。抽象方 法也就不能用synchronized关键字修饰了;native,这个东西本身就和abstract冲突。他们都是方法的声明,仅仅是一个吧方法实现移交给子类。还有一个是移交给本地操作系统。
假设同一时候出现,就相当于即把实现移交给子类,又把实现移交给本地操作系统,那究竟谁来实现详细方法呢?
总结为:接口中的方法仅仅能为抽象的,即是:public abstract;常量仅仅能为public static final类型的。
(4)当内网内没有条件建立dnsserver。又不想用IP訪问站点。应配置什么文件(A)
A.hosts
B.sysconfig
C.network
D.hostname
答:hosts文件是Linux系统上一个负责ip地址与域名高速解析的文件,以ascii格式保存在/etc/文件夹下。
hosts文件包括了ip地址与主机名之间的映射。还包括主机的别名。在没有域名解析server的情况下。系统上的全部网络程序都通过查询该文件来解析相应于某个主机名的ip地址。否则就须要使用dns服务程序来解决。
通过能够将经常使用的域名和ip地址映射添加到hosts文件里,实现高速方便的訪问。
(5)