140507 百度电面面经

来源:互联网 发布:彩虹六号围攻网络问题 编辑:程序博客网 时间:2024/04/29 18: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/)

面试官认为应该在操作系统和编译原理方面加强一些。。。

0 0