腾讯实习面经(offer)

腾讯的实习招聘也算是告一段落了。从内推到正式实习生招聘,总结一下。看了这么多面经,也把自己的经历写一下,有需要的朋友可以参考一下。毕竟互帮互助嘛。

内推

腾讯内推的经历比较惨淡,面了三个部门,都跪在一面了。讲真,有点心塞。

1.WXG
  • 生平第一次的电话面试交给了WXG,一上来给了18道题让做,一共给了40分钟左右,能做多少算多少。当时做了8道出来。把这些题列出来吧,供大佬们参考。
    ```cpp
    //1. 反转字符串,在原串上反转
    char * reverse( char * s )

    //2. 给定一个整数,按10进制来看,计算里面包含多少个0。不能用snprint f转成字符串。
    int count( int value )

    //3. 从一个双向链表中删除一个节点。head是链表头节点,toDelete是已经找出来要删除的节点。
    struct LinkNode {
    struct LinkNode * prev, * next;
    };
    struct LinkNode * head;
    void remove( struct LinkNode * todelete )

    //4. 两个有序(从小到大)单链表,合并为一个有序的单链表
    struct LinkNode {
    int value;
    struct LinkNode * next;
    };
    struct LinkNode * merge( struct LinkNode * firstLink, struct LinkNode * secondLink )

    //5. 倒转单链表(在原链表上倒转)
    struct LinkNode {
    int value;
    struct LinkNode * next;
    };
    struct LinkNode * reverseList( struct LinkNode * head )

    //6. 有一个二叉树,每个节点的值是一个整数。写一个函数,判断这颗树中是否存在从根到叶子节点的一个路径,这个路径上所有节点之和为某一个值。存在返回1,否则返回0。
    struct TreeNode {
    int value;
    struct TreeNode * left, * right;
    };
    int haspath( struct TreeNode * root, int value )

    //7. 给定一个递增循环整数数组,从里面找出最小的元素,使用的算法越快越好。特别地,最小的元素可能出现在数组中间。比如:50, 52, 63, 90, 3, 8, 15, 44。
    int findmin( int array[], int count )

    //8. 在有序列表中插入一个节点
    struct LinkNode {
    int val;
    struct LinkNode * next;
    };
    struct LinkNode * insert( LinkNode * head, LinkNode * node )

    //9. 二叉树的深度
    struct TreeNode {
    int val;
    struct TreeNode * left, * right;
    };
    int depth( TreeNode * root )

    //10. 给定两个字符串 s1 和 s2 ,从 s1 中删除在 s2 中出现过的字符。
    char * remove( char * s1, const char * s2 )

    //11. 从有序链表中去除重复的元素
    (1, 1, 3, 3, 3, 5, 5, 5, 9, 9, 9, 9) -> (1, 3, 5, 9).
    struct LinkNode {
    int val;
    struct LinkNode * next;
    };
    void remove( LinkNode * head )

    //12. 有一个字符串列表,从中找出按字典序最大和最小的串。
    char * strlist[ N ] = {
    "abc",
    "123",
    ....
    "def"
    };

    void find( char * strlist[], char ** strmin, char ** strmax )
    //13. 设定如下的对应关系( A=1,B=2,C=3,...,Z=26,AA=27,AB=28,...,AAA=xxx,... ),编写一个转换函数,根据上面的规则把一个字符串转换为数字
    int StrToInt ( const char * str );

    //14. 在二叉排序树上面找出第3大的节点。注意:不能把二叉树全量存储到另外的存储空间,比如存储到数组中,然后取出数组的第三个元素。
    struct TreeNode {
    int value;
    struct TreeNode * left, * right;
    };
    struct TreeNode * find( struct TreeNode * root );

    //15. 从一个整数数组中,找出递增的最长序列。
    struct Result {
    int offset; // 序列的开始位置
    int count; // 序列的长度
    };
    int findCont( int array[], int count, struct Result * result );

    //16. 从单链表中找出中间的节点。
    struct LinkNode {
    int val;
    struct LinkNode * next;
    };
    struct LinkNode * find( LinkNode * head );

    //17. 两个有序(从小到大)单链表,构造一条新链表,包含同时出现在两个链表的节点
    struct LinkNode {
    int value;
    struct LinkNode * next;
    };
    struct LinkNode * int ersect( struct LinkNode * firstLink, struct LinkNode * secondLink );

    //18. 判断一个单链表是否出现环,空间复杂度不能是O(N)
    struct LinkNode {
    struct LinkNode * next;
    };
    //返回 1:有环,0:无环
    int iscycle( struct LinkNode * head )
    ```
  • 40分钟后,然后把做了的题和面试官一起过一遍,看是否有错,是否可以优化等等
  • 最后聊了一下线程池的问题。让我准确计算出一个系统中的线程池的数量设置多少个合理。(这个一脸懵逼,没做出来,要是有大佬懂的话,还请不吝赐教)
  • 这一面快两个小时了吧,至此, WXG 挂

2.TEG
  • TEG的小哥哥还是比较温柔,问了特别多的STL,vector,list
  • map,hashtable的区别,怎么实现的,适用场景
  • epoll的使用
  • 线程池的设计
  • 项目中可以改进的地方
  • 。。。。。时间太久,记不住了
  • 感觉这次还不错的,但是,至此,TEG挂
3.IEG
  • 内推里面最不温柔的就是IEG了
  • 项目中mysql是怎么用的
  • 1.算法题。一个数组中的数都出现两次,只有一个出现一次,找出来
  • 2.算法题。一个数组中的数都出现三次,只有一个出现一次,找出来
  • 3.算法题。假设有一个随机函数可以随机生成[0,7900],然后现在有3000人,设计一个函数从3000人中等概率选取一个人
  • 至此,第二个和第三个算法题都不太符合小哥哥的预期,IEG挂

正式校招

笔试
  • 腾讯笔试选择题都是不定项,而且不能倒回。中间手一抖,多点了几下,结果直接跳过1-2两个题,至此,笔试崩
一面
  • 原以为笔试过不了,都已经准备去霸面了。结果收到了面试通知
  • 写程序。实现int 转 const char* ,函数原型如下:
    cpp const char * ToString(int val);
  • 写程序的时候,本来不允许用malloc,我用了,又让改。改成了全局变量,结果又指出了另一个错误:
    cpp printf("%s %s\n", ToString(123), ToString(456));
    让猜结果是多少,然后又引发了一段血案,反正最后也不自信,也不敢肯定结果。。。

  • 聊了一下项目
二面
  • 二面一共15分钟不到,全程和面试官闲聊,没有一个技术问题。
  • 自我介绍
  • 兴趣爱好
  • 能不能实习
  • 。。。。忘了
  • 最后,没忍住,问了一下,为什么不问技术问题,是不是挂了。答曰:前面已经有同事考验过你的技术了。。
hr面
  • hr面半个小时
  • 自我介绍
  • 科研情况
  • 实验室情况
  • 家庭情况
  • 未来规划
  • 有没有什么问题
  • 没了

总结

  • 今天拿到TEG实习offer
  • 腾讯是个好公司,我很想去,但是老板不让。
  • 还是有很多不足,校招再战!

转载于:https://www.cnblogs.com/lengender-12/p/6774960.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值