腾讯2015年秋招一面

这是我写的第一篇博客,请大家多多支持哈。


这里就来说说我今天的面试吧。今天我参加了腾讯2015秋招的一面,地点是广州,职位是移动开发工程师。废话不多说,直接说我的面试过程。

    1、首先进到房间,面试官让我做自我介绍。由于准备得还不错,就抑扬顿挫地介绍了自己。

    2、然后问了一下简历上面的一些情况,比如现在做的主要是什么方面,项目中遇到的困难等。这些只要对自己的简历和项目有深入的了解就不难回答。

    3、接着问了一道常见的面试题:给n个数排序,要求时间复杂度为O(n)。这道题前几天刚看过,然后我思考了几十秒来组织思路,说完之后感觉面试官也挺满意的。这里说一下大概的思路:我们平时学的排序算法时间复杂度都是大于O(n)的,现在还没有一种排序算法能够达到O(n),所以这个问题有一个潜在的条件是,我们事先知道这n个数的范围。比如这n个数的范围是0~99,也就是说最小不小于0,最大不大于99,①我们就可以定义一个长度为100的整数数组count,初始化每个元素为0,②然后遍历这n个数,将以该数为下标的数组元素加1,例如遍历到的数字为3,那么count[3]++,③最后遍历count数组,将元素不为0的数组下标输出(注意一个情况,n个数中同一个数字可能有多个,若count[3]==2,则要输出两个3)。

    4、然后问了一道数据结构题:求二叉树中两个结点的最低父节点。刚好也有复习到这道题,所以也整理了一下思路清晰地解答了。然后面试官让我编程这道题,因为思路比较清晰,代码写起来也比较简单,写完跟面试官讲解了一下,感觉还是不错的。下面也说一下思路:①首先分别求两个结点到根结点经过的结点的路径,将路径存到两个线性表list1和list2中(这里涉及到求父结点的方法,这个方法通过递归也能很好地解决),②假设list1的长度大于list2的长度,定义两个指针p1和p2,p1初始化为list1.size()-list2.size(),p2初始化为0,然后从p1开始遍历list1,从p2开始遍历list2,每次遍历比较两个list中对应的结点是否相等,若相等则该结点为最低父结点(跟求两条单链表的交点的思路是一样的,如果不是很了解的可以留言,有更好的解决方案也欢迎留言)。

    5、接下来问了我的同学们怎么评价我,我也是谦虚地吹了一下下。

    6、最后例行公事,问我还有什么要问的,这个只要有准备也就行了。

    7、可能上面的顺序不是很对。。还有其他一些问题,我忘了。。

就这一次面试来说,问的问题不难,也不算多,整个过程也就40分钟左右。本来自我感觉还是很好的,不过回头想想这么大一间公司,厉害的人又那么多,机会其实并不大。。哎,无论如何,充实自己最重要。。


第一篇博客写完,以后会常驻这里,希望有兴趣的同学们来一起交流一起学习,谢谢。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值