腾讯校招随笔

作者: linanwx | 来源:发表于2018-04-11 15:39 被阅读513次

    前言

    提前批有两次电话一面,这里略过了。
    首发于:https://www.jianshu.com/p/d5aa63a27172

    一面

    成都4月11日

    • 介绍自己的项目、难点在哪里、怎么解决的
    • 介绍C++11特性
    • 介绍fork函数
    • 介绍time_wait状态
    • 为什么tcp连接握手需要三次
    • 介绍迭代器失效。push_back会导致迭代器失效吗。
    • 红黑树的特征,介绍
    • 哈希冲突的解决方法。
    • 进程和线程的区别
    • 你都使用什么线程模型
    • 介绍协程
    • 介绍快排算法
    • 什么是稳定性排序,快排是稳定性的吗,为什么
    • 快排算法最差情况推导公式
    • 析构函数虚函数为什么
    • 构造函数为什么不能是虚函数
    • 打印在纸上的题目,考察:new [] 对象。static 成员。子类构造函数具体调用了啥。拷贝构造函数与赋值函数的区别。等号在拷贝构造函数出现的时机。什么时候需要赋值函数。深拷贝与浅拷贝。虚函数的调用时机。

    下面是其中一道题目,请写出运行结果

    #include <iostream>
    using namespace std;
    
    struct A{
        A(){
            local_var++;
        }
        virtual void func(){
            cout << "A" << endl;
        }
        static int local_var;
    };
    
    int A::local_var = 0;
    
    struct B : A{
        B(){
            local_var+=2;
        }
        virtual void func(){
            cout << "B" << endl;
        }
    };
    
    int main(){
        A* a1 = new B[3]; 
        cout << a1[0].local_var << endl;
        a1->func();
        A a2 = a1[0];
        cout << a2.local_var << endl;
        a2.func();
        A a3;
        a3 = a1[0];
        cout << a3.local_var << endl;
        a3.func();
    }
    

    以下代码会出现什么问题。

    #include <iostream>
    using namespace std;
    
    struct A{
        virtual void func1(){
            cout << a << endl;
        }
        void func2(){
            cout << a << endl;
        }
        void func3(){
            cout << "a" << endl;
        }
        int a;
    };
    
    int main(){
        A * a = (A*)malloc(sizeof(A));
        a->func1();
        a->func2();
        a->func3();
    }
    
    • 笔试过程中(之前牛客笔试。面试官居然打印了我的笔试所有答案和结果,包括选择题和算法题,提交了多少次,失败了多少次)一道题的思路。考察虚指针的初始化时机。
    • 随机出一道纸上的题目。给定前序遍历ABC后序遍历CBA,求中序遍历是什么,画出来两种情况。
    • 笔试过程中(之前牛客笔试),第一道算法题的思路
    • 有100个弹珠,双方轮流拿,每个人只能拿1~5个,无法拿的人输,必胜解法。
    • 最近学什么(服务器编程)。之前学什么(TensorFlow),怎么学习的。你对Tensorflow强大的神经网络是怎么看待的。
    • 家庭情况了解。
    • 离开后在大厅手写代码,求char a数组中有的元素和char b数组中没有的元素,放到char c数组。这里我忘记把char字符转成unsigned char类型。

    二面

    成都4月13日

    • 自我介绍
    • 系统调用是什么。你用过哪些系统调用。什么系统调用会耗时长。
    • gdb调试用过吗。什么是条件断点。
    • 函数指针和指针函数的区别。写个例子出来。
    • 手写fork调用示例。你在哪些场合使用过fork调用。
    • 介绍udp的connect函数。
    • 索引是什么。多加索引一定会好吗?(索引这个承认了看面经,但是后一个问题自己想出来了)
    • 上一次面试中,你有哪些问题你回去查了。
    • 上一次面试中,你的代码有问题,你知道吗。
    • 你回答的问题是从哪里学习的。你这两天在干什么?
    • 给你提一些建议,看下gdb调试,看下数据库知识,看下网络编程,多实践。

    后续

    4月20日收到腾讯的电话offer确认。

    相关文章

      网友评论

      本文标题:腾讯校招随笔

      本文链接:https://www.haomeiwen.com/subject/vsxzhftx.html