首页 > 百度实习 一连三面 面经 C++
头像
heartのc
编辑于 2021-03-28 11:59
+ 关注

百度实习 一连三面 面经 C++

个人情况,不知名二本大三,acm铜牌苟活选手。
  • 心态有点小崩

  • 感觉除了三面面试官,一面二面都不知道acm是啥,都出一些acm不太遇到的奇怪算法题

一面

  • 自我介绍

  • 你是打竞赛的吧,搞什么的,什么是acm

  • 哦,搞算法的呀,那我们来做个题吧

    • 给一个数组,数字内的每个数字的范围都是1到数组长度的,求每个数字出现多少次,返回一个合适的结构

    • 要求时间:O(n),空间O(1)

    • 好,很快的unordered_map秒完了,然后面试官:你这map不要空间的?我说了O(1)的空间,你这不是O(n)吗。你再想想

    • 好,想了10分钟,写了下面的代码。由于每个元素都是的1到n的,那我让都加上n,然后把原来的取值转为成0到size-1,最后看a[i]有多少个n,就是个数了.唯一的问题就是会长度大了会溢出
      update3.28: 群友提醒,确实应该%n,但好像面试官没在意这个
    • vector<int>& sovle(vector<int> &a) {
      	int n = a.size();
      	for (int i = 0; i < n; i++) {
      		a[(a[i] - 1)%n] += n;
      	}
      	for (int i = 0; i < n; i++) {
              a[i] = (a[i] - 1) / n;
          }
          return a;
      }
    • 然后,面试官没听懂...有的上头,硬是解释了10+分钟,然后面试官说,“你的想法很好,但是我觉得还是会有边界的问题,那就这样吧,我们继续”。

  • 你说比较熟悉数据结构,那AVL知道吗,那红黑树的细节了解吗

    • 好,问就是不会

  • 那你数据结构主要擅长什么

    • 我主要擅长并查集,线段树,巴拉巴拉...

  • 哦哦,这样子呀,我那在想想问什么。网络编程会吧,说说socket

  • socket类型有xxx。。恩,其他具体的我没了解了

  • 恩,我这里结束了,你是要下一面的,就继续等着好了,很快有二面来联系你的

二面(5分钟后)

  • 自我介绍

  • 来写个题吧

  • 给一个数组,数组内正负数都有,问你一个没有出现的正整数是什么,写一下代码

    • 问了下没复杂度要求,然后写了个的nlogn,排个序,然后遍历le

    • 然后面试官说可以,就再介绍了个的写法

  • 给你一个二叉树,写一个二叉树翻转

    • 递归几行,几分钟就写完了

  • 来讲讲快排的思想

    • 正常算法思想,然后复杂度的退化,优化方法,还有变形等.

  • 红黑树知道吗,来说说他的应用,STL里有什么是红黑树的

    • 实现不了解,stl里set和map用了红黑树

  • 除了编程语言里,还有什么地方用了红黑树。

    • 本来想说epoll和系统内核,然后想想我也不太会,就说不太清楚了

  • ngix用过吗,来说说看

    • 就说了用于反向代理和动静分离。

  • ngix怎么实现负载均衡的

    • 理论BB了一堆,但是面试官要听具体项目,就说没场景使用了

  • C++的智能指针知道吗,来说说看

    • shared_ptr, unique_ptr, weak_ptr都说了下,以及循环引用计数问题

  • HTTPS知道吗,来说下

  • B+tree知道吗

  • 你简历里写了实现HashMap,来说说你整体的设计

    • 这个老熟悉了,开始对比STL来BB

    • 随便加了点没写的rehash,以及如果要扩容的话巴拉巴拉...

  • 你是不是会docker,那来说说你对docker的理解和运用

    • 说了docker和虚拟机区别,虚拟化程度,资源利用率,以及文件系统 balabula..

  • 背包问题知道吗,说说有什么解法

    • 以01背包为例子,讲了正常的二维dp和方程,以及滚动数组优化掉一个维度,时间复杂度和空间复杂度。然后其他的方法比如:dfs+记忆化搜索

  • 设计模式了解哪些

    • 单例模式,观察者模式,代理模式

  • 写一个简单的单例模式吧

    • 写完了,面试官让说了下思路,也没评价什么,但是介绍了下单例的线程安全问题...

  • 好,我这里结束,你等一下马上会有三面的

三面(2分钟后,真的0休息,三面主要聊天)

  • 自我介绍

  • 说说你毕业以后的打算

  • 来说说你平时打acm的感想吧,有什么收获,遇到什么困难

  • 遇到的瓶颈是什么

    • 语言瓶颈 和 智商压制...

  • 你在团队里的定位是什么,有哪些贡献

  • 和队友有矛盾了,怎么办

  • 你平时的学习方法是什么

  • 我们来写两道题吧

    • 二叉树前序遍历

      • 2分钟秒完

    • k个有序链表合并

      • 写了暴力的,然后没时间调出来,面试官就让讲了思想和复杂度

      • (结束后,想想亏了,优先队列怼进去,更简单,几行写完了...当时脑抽了,状态不对...)

  • 结束了,反问阶段

    • 被评价数据结构需要再加强下,和项目上的东西


更多模拟面试

全部评论

(10) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

近期精华帖

热门推荐