腾讯2面

腾讯二面 20181017

  • 自我介绍(无)

  • 实习项目介绍

    • 项目背景
    • 项目完成周期
    • 自己负责的模块
  • 数据结构和算法

    • 算法手撕题1(对单链表反转)
      • 给定一个单链表头结点,对其进行反转)
        • 首先给出的递归解法(面试官貌似不认可) 空间复杂度O(n)
        • 然后给出基于循环结构的解法 空间复杂度O(1)
      • 最长公共子序列问题
        • 给定两个字符串,然后求两个字符串的最长公共子序列(给出思路,不要求写代码)
          • 直接通过二维表,列地推关系式。
  • 高并发知识

    • 介绍高并发
      • 多线程
      • 线程池
        • 宏观(设计线程池的思想层面:参数,接口,策略)
        • 微观(编程语言层面)
    • 死锁
      • 如何避免死锁?
        • 导致死锁的必要条件
        • 避免死锁的方法
          • 指定获取锁和释放锁的顺序
          • 破坏导致死锁的必要条件,使其不被满足
  • Http协议

    • what:(Hyper Text Transfer Protocol)超文本传输协议,包含那些东西?
    • how:底层实现
    • http2.0的特性
      • 服务器推送数据
      • 首部压缩,减小带宽
      • 更多加密方式的支持
      • 文本转为二进制数据传输
  • 内存泄漏

    • what
      • 解释什么是内存泄漏?
      • 附带对比内存泄漏和内存溢出
    • why
      • 分析为什么产生了内存泄漏?
    • how
      • 怎么去检测程序是否存在内存泄漏?
  • 智力题(tencent两轮面试都出了两三道智力题,可怕)

    • 1.给定一串数字,其个数为偶数个,但是数字之和为奇数,现在两人分别交替从两端拿数字,最后两人拿到的数字之和最大者胜出,问是否存在一种必胜的策略,如果存在请给出,不存在说明理由?
    • 2.一个桶中有100个球,两个人交替拿球,每个人每次可以选择在桶中拿出1个或者2个或者3个或者4个球,问是否存在一种必胜的策略,如果存在请给出,不存在说明理由?
      • 解决方案:首先从100个数中,先手拿出奇数个数n1=(1 or 3),然后剩下的数也就变成了100-n1。然后每次两人都拿的数之和满足偶数,最后剩下的数肯定是基数,先手赢(可惜该方案是错误的)
      • 正确方案:第二个人赢,策略如下:假设每次先手拿n1个数,然后后手拿5-n1个数,最后肯定是第二个人最后拿数,所以第二个人赢。perfect
  • finally

    • 1.最后,最后,最后。由于本人擅长的是java语言,面试官说他不太懂java。然后全称有点不太好面,所以涉及java的知识问的很少很少。
    • 2.从整个参加秋招以来,遇到过几次本人java,面试官c++的情况。
      • 华为优招(直接尬聊项目,聊完问哪个语言用的多,答java,直接让我回去)
      • shopee一面(也是全程尬聊,聊完面试官一脸不爽,我就怼了他,把华为的气一次性爆发到了面试官头上)
      • 腾讯二面(打破了c++的魔咒,从一出来就感觉生无可恋,到最后回来的路上,刷新了几次公众号状态,大概过了十多分钟的样子,在公交站等车的时候,看到状态为hr环节,整个人高兴的跳起来了,太开心了)
      • 晚上8点收了明天的hr面试,开心。希望hr面不要在怼技术,尤其是别遇到擅长c++的hr(保佑),保佑自己明天顺利过。
posted @ 2018-10-17 20:44  追寻自我  阅读(756)  评论(0编辑  收藏  举报