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个字节。
(简单示意一下!)
BAT笔试试题常见试题总结含答案(持续更新。。。)_第1张图片

为什么不把A中的char d补到short b上去,这是因为在结构体的顺序决定的!

(2)A公司打算搭建一个Andriod App下载的Web站点,计划将目前常见的手机APP都放到这个网站上提供下载。因为业务开展初期下载量很小,技术部门就用了1台服务器,给服务器配置了一个公网IP对外进行服务。随着销售部门的推广到位,用户量和下载量呈指数级上载,要求技术部门马上进行改造。如果你是技术部门经理,你会怎么改造这个站点,以满足高负载的需求。
提示:短时间修改网站的代码不现实,其他方面的各种改造建议都可以,建议越多越好。

答:主要用到重定向的方法
1.HTTP重定向
增加N台内部服务器,组成一个局域网,将APP复制N份放到内部服务器中,原来的服务器作为与因特网通信的接口。当原服务器收到客户端请求后,服务器选择一个负载最小的内部服务器,将客户端的请求重定向到该服务器
2.DNS重定向
原服务器IP对应的域名解析到多个IP,用DNS轮转法选择合适的IP
3.IP地址转发
另外还可以进行代理的重定向
1.对APP资源进行多服务器备份,在每个下载页面新增多个下载通道。
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)当内网内没有条件建立dns服务器,又不想用IP访问网站,应配置什么文件(A)
A.hosts
B.sysconfig
C.network
D.hostname

答:hosts文件是Linux系统上一个负责ip地址与域名快速解析的文件,以ascii格式保存在/etc/目录下。hosts文件包含了ip地址与主机名之间的映射,还包括主机的别名。在没有域名解析服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的ip地址,否则就需要使用dns服务程序来解决。通过可以将常用的域名和ip地址映射加入到hosts文件中,实现快速方便的访问。

(5)

你可能感兴趣的:(面试总结)