2020年春招面经
\(hr\)面的问题我就不写了,感觉只要好好答应该都没啥问题。
深信服算法岗一面(\(2020.01.15\),过)
1.自我介绍;
2.map使用什么实现的,hashmap和unordered_map呢?
3.给你n个匹配串和一个文本串怎么找出每个串出现了几次,我说ac自动机,然后问了我ac自动机建树过程;
3.给你一个数组(100w个数),找一个子段使得他的和为x(给定的);如果数全是正数怎么写(要求on),有正有负(没有要求on)呢?
4.n个人站在一排,每次告诉你出去第几位,然后问谁在队列里面,譬如1 2 3 4,出去第二个人,再出去第二个人,这样只剩下1 4;
5.100级台阶,每次可以跳一级或者两级,问方案数,如果两级只能0用十次呢?
6.c程序编译流程了解吗(源代码最终怎么变成可执行文件)?
7.指针了解吗,用的多吗?我说不了解,然后就没再问了;
8.10门课程,要你选出一个子集使得这个子集的分数之和恰好位100,我说状压dp然后说了下思路又要我用递归实现;
9.你有什么想问的吗?
深信服算法岗二面(\(2020.01.16\),过)
1.自我介绍;
2.昨天问过的10个正整数,找一个子集使得和为100;
3.给你1000条开口向下的抛物线,然后要你找一个点使得这个点被所有的抛物线覆盖,然后y要越大越好,求最大的\(y\),如下图;
4.求\(x^2=a(\%p)\),给你a和p,那么\(x^3=a(\%p)\)呢,不用高次剩余呢?不用高次剩余不会,那么\(a^x=b(\%p)\)求x呢?\((a^x+b^y)=c(\%p),x\in[1,100],y\leq 10w\)?那么x是1w呢?
5.说说你的优点;
6.给你一个10w*10w的矩阵,然后\((x,y)\)处的值为\(ax^2+bx+cy\),然后求第k大;
7.n个圆,只有包含和相离,然后问你从s走到t至少要穿过多少个圆?
8.你什么时候能够入职?
2是一面被问过的题,然后一面的3和二面的3、7都是朋友被问过的,只不过那个圆判断包含部分的扫描线咋写没想出来然后刚好被面试官问了扫描线部分的细节(GG),二次剩余三次剩余部分答得不好,其他的好像都是直接一眼秒了,希望能过吧QAQ(ps.二面过了
字节跳动后台开发一面(\(2020.03.03\),过)
\(1.\)有一个数组\(a_i(a_i\in[-100,100])\),求一个最大乘积子数组,并输出乘积。
\(2.\)有一个高速公路(单行道),每辆车速度\(v_i\),不能超车,追上的要减速跟在后面(无缝衔接),初始间距为\(s_i>0\),问无限长时间后高速公路上有几坨车。
\(3.\)给你多个区间,将相交的区间合并,输出最后区间个数。
\(4.\)给你一个数组\(a_i(a_i\in[0,100])\),求一个子数组使得子数组最小值乘以子数组的和最大,证明单调栈写法的复杂度。
\(5.\)给你一棵点权树,每条路径的价值是路径上所有点的乘积,每棵子树的价值是子树中最大的路径价值,求所有子树的价值和。
字节跳动后台开发二面(\(2020.03.03\),过)
\(1.\)给你一个长度为\(n\)的单调上升数组,找离\(k\)(\(k\)保证在数组内)值最近的\(c\)个数,输出这\(c\)个数中的最小值和最大值。
如:\(1,2,3,4,7,8,10,11,k=7,c=3\),那么与\(7\)最近的\(3\)个数是\(4,8,10\),输出\([4,10]\)。
\(2.\)给你一个有向图,输出每个环。
\(3.\)给你一些敏感词,然后再给你一个串,问这个串是否含有敏感词,\(AC\)自动机与\(hash\)比有什么优势。
\(4.\) 给你主播的礼物数,问你这个主播的排名(多次插入和查询),再问你排名为\([100000,100100]\)的主播是谁,复杂度呢。
字节跳动后台开发三面(\(2020.03.04\),过)
\(ps.\)下面的样例均不是面试时的样例。
\(1.\)给你一个由数字构成的串,然后要你划分成合理的\((x,y)\)坐标,下面是一个例子:
\((1023)\)可行的划分为:\((1,0.23),(10,23),(10,2.3),(102,3),(1.02,3),(10.2,3)\)。
注意\(0.0,1.000,00.1\)都是不合法的。
\(ps.\)面完和朋友讲述题意,朋友告诉我这是leetcode816,唉,还是刷题刷太少啊。
\(2.\)给你一个字符矩阵,然后多次询问,每次询问问你能不能在这个字符矩阵中一笔画构成这个串,注意不能走重复的格子,一笔画只能上下左右移动一个单位。
\(ABCD\)
\(BACE\)
\(BDEA\)
询问:\(ABAD\)输出\(true\);
\(ABCB\)输出\(false\)。