笔试错题记录1

####选择题
1.C++中的const。

int b = 2;
const int * a = &b;  //这种情况是表示指针所指的数据是常量,但是a这个指针可以指向其他内存。
int * const  c = &b; //这种情况是表示指针是常量,也就是c只能指向b,但是b这个内存里面存储的值是可以变得。

2.ARM开发集成环境
只读的代码段常量被称作RO段,是程序中的指令和常量;
可读写的全局变量静态变量称为RW段,是程序中已初始化变量;
RW段中要被初始化为0的变量称为ZI段,是程序中未初始化变量。
则不同进程加载同一个动态库的时候,不能共享的部分是RW和ZI。因为只有只读代码和常量是可以分享的。

3.同一个进程不同的线程,不可以共享的是
因为线程共享的是进程代码段,进程的公共资源,进程文件描述符,进程用户ID等等。但是每一个线程都有一个线程ID,用户栈和内存栈等等。

4.关于Java中自动装箱的问题。
Byte a = 126;
Byte b = 127;
Byte c = a +b;
最后出现的情况是最后一行编译错误。因为a和b进行加法运算时自动提升为Int类型,没有办法赋值给Byte类型。

####填空题
1.在32位系统中,void *p = malloc(100);则sizeof§=4。
因为p是一个指针类型的数据,所以无论p指向的内存多大,p的大小都是固定的。在32位地址下,8位一个字节,就是4个字节。

2.设循环队列的容量为50,且头指针front=5,尾指针rear=29,则该循环队列中是共有24个数值
算法(rear-front+size)%size

3.已知代码char* p=(char*)malloc(val);其中p在运行的时候获得了一个空指针,请列举三种可能的原因?

  1. 分配的空间太小
  2. 分配的空间被当做内存碎片处理
  3. val取值过大,导致分配之后会导致内存空间溢出

4.进程间的通信方式

  1. pipe 也就是管道通信
  2. socket
  3. signal 信号处理机制
  4. memory share 内存共享
  5. message 消息队列
  6. file 文件的读写

5.Android四大组件

  1. Activity 活动
  2. Service 服务
  3. Broadcast 广播
  4. Content Provider 内容提供器

6.Java中的final

  1. final类不可以再派生出新的子类。因此一个类不可以既是abstract也是final。
  2. final变量可以保证变量在使用中不会被改变。则只能在声明变量或构造器初始化。
  3. final函数不能被子类重写。

7.如何定义C++类,阻止C++类对象的相互赋值(obj2=obj1)。
只要重载=的定义在private或protected下面即可,重载原型的const修饰及函数体内容无所谓。

class A{
	protected:
		A& operator = (const A&){}
}
class A{
	private:
		A& operator = (const A&){}
}

8.java中Thread.sleep()和 Object.wait() 有什么区别?
sleep是使线程休眠一段时间。在sleep休眠时间到期后,线程不一定立即恢复执行,除非系统没有其它更高优先级的任务正在执行。wait是线程间实现同步的一种机制。调用wait的线程会主动进入等待状态,直到被其它线程唤醒或者等待超时

9.sprintf、strcpy、strncpy及 memcpy 函数,请问这些函数功能有什么区别?从安全角度考虑一般应该用哪个函数复制字符串?

  1. sprintf为格式化字符串函数
  2. strcpy为字符串复制函数
  3. strncpy也是字符串复制函数,但是可以指定最大复制长度
  4. memcpy为内存复制函数
    从安全角度应该选strncpy,不易出现越界异常

####编程题
约瑟夫环是一个数学应用题:已知n个人(编号1、2、…n)围坐在一张圆桌周围。从编号为1的人开始报数,数到m的那个人出列;他的下一个又从1开始报数,数到m的那个人又出列;依次规律重复下去,直到圆桌周围的人全部出列。请编写一个程序,给定n、m计算出列人员先后顺序。
这道题先考虑用Java中已有的LInkedList来解决。
ArrayListLinkedList的不同点

  1. ArrayList基于动态数组实现,它适合于随机访问元素,但是插入和删除元素较慢。
  2. LinkdList基于链表实现,在LInkedList中间进行插入和删除的代价较低,但是在随机访问方面LInkedList性能较慢。

猜你喜欢

转载自blog.csdn.net/rainpasttime/article/details/82661947