文本描述
2013年海康威视校园招聘嵌入式开发笔试题 A卷 1.“栈 stack”和“堆 heap”有什么区别,写两个函数分别在栈上和堆上分配内存,在堆上分配内存应注意哪些问题?2. 信号量是什么?有什么区别?使用信号量进行任务间通信有何优缺点? 3.TCP/IP通信建立的过程怎样,端口有什么作用? 4.进程间的通信方法,比较其优缺点5.什么是MTU,如何检测整个通信链路上的MTU值? 6.请指出下面程序的错误unsigned char i = 10;char b = 100;char* p; void f(void) { While(--i>=0) { *(p++) = b; } }7.在socket编程过程中,对端A向应用程序B(应用程序B负责多个模块)发送数据,如果对端A shutdown,而应用程序B要忽略此信号,为什么? 8.(附加题,可选做)编程实现:快速创建一个1G的文件,逆序读取文件。
B卷 1.什么事随机存储中的大小端模式?写一段用来判别编译器内存存储方式是大端模式还是小端模式的代码 2.找出下面一段ISR问题__interrupt double compute_area (double radius) { double area = PI * radius * radius; printf("\nArea = %f", area); return area; } 3.关键字const是什么含义?指出下列声明的意义。 1)const int* p; int const* p;2) int*const p;3) const int*const p;4) 4.请写出OSI网络模型。常见网络连接设备:集线器,交换机,路由器,网关分别对应哪一层。并简单介绍交换机、集线器和路由器的区别?5.请描述进程,线程,轻量级进程的概念。Linux中线程是何如实现的? 6.写出socket通信的基本过程。7.编写一个函数,实现任意两段内存之间的快速拷贝函数接口 :int my_memcpy(void* dst,void* src,int size) 要求: 实现任意两端内存之间的正确拷贝; 注重效率,拷贝速度越快越好;(使用对齐4字节拷贝代替单字节拷贝)。 8.(附加题,可选做)快速创建一个1G的文件,对其进行写入,关闭文件读取,若为乱序读取(每次随机读取一定字节,共读完1G),计算所需的时间。