-
心态有点小崩
-
感觉除了三面面试官,一面二面都不知道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) 回帖