140507 百度电面面经

2019-04-14 22:04发布

前后一直在写代码。。。在http://collabedit.com/  1.  memcpy函数(说写的不好) void* memcpy(void *dest, const void *src,int n){             if((dest == NULL) || (src == NULL))             return NULL;             if(src == dest)             return dest;             int* d = (int*)dest;             int* s = (int*)src;             while(n-- > 0){                 cout << *d << " " << *s << endl;                 *d++ = *s++;             }             return dest; } 2.  堆排序(秒杀) 3.快排序(秒杀) 4.堆和栈区别(栈向低地址扩展,堆是向高地址扩展。。补一下C++内存管理的知识) 堆和栈的实现。。。(就说用链表实现。。)我在查查: 栈是由编译器自动分配和释放的,主要是函数体的地址、参数和局部变量,静态变量不在其中,其操作方式类似于操作系统中的栈 堆是由程序员手动完成申请和释放的,如果程序员不去释放,程序结束后由系统释放,堆的实现方式类似于数据结构中的链表 5.文法 6.聊天_多线程、网络编程、锁、同步等。。。 呵呵 。。。不会了 。。。 7. 用过什么文件操作(fopen/freopen/) 面试官认为应该在操作系统和编译原理方面加强一些。。。