文末
篇幅有限没有列举更多的前端面试题,小编把整理的前端大厂面试题PDF分享出来,一共有269页
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 131072KB;其他语言 655360KB
题目描述:给出一个序列包含 n 个正整数的序列 A,然后给出一个正整数 x,你可以对序列进行任意次操作的,每次操作你可以选择序列中的一个数字,让其与 x 做按位或运算。你的目的是让这个序列中的众数出现的次数最多。
请问众数最多出现多少次。
输入
输入第一行仅包含两个正整数 n 和 x,表示给出的序列的长度和给定的正整数。(1<=n<=100000,1<=x<=1000)
接下来一行有 n 个正整数,即这个序列,中间用空格隔开。(1<=a_i<=1000)
输出
输出仅包含一个正整数,表示众数最多出现的次数。
样例输入
5 2
3 1 3 2 5
样例输出
3
提示
样例解释
例如如果序列中所有数字都不修改时,众数为 3,3 出现的次数为 2,如果我们把两个 3 都做如题操作,序列会变为 1,1,1,2,5,此时众数为 1,出现次数为 3,所以我们选择后者方案,输出众数出现的次数,即 3。
整除的数组
时间限制:C/C++语言 3000MS;其他语言 5000MS
内存限制:C/C++语言 131072KB;其他语言 655360KB
题目描述:小美曾经有一个特殊的数组,这个数组的长度为 n。但是她在打恐怖游戏的时候被吓得忘记了这个数组长什么样了。不过她还记得这个数组满足一些条件。
首先这个数组的每个数的范围都在 L 和 R 之间。包括端点。
除此之外,这个数组满足数组中的所有元素的和是 k 的倍数。
但是这样的数组太多了,小美想知道有多少个这样的数组。你只需要告诉她在模 1e9+7 意义下的答案就行了。
输入
一行四个整数 n,k,L,R
(1≤n≤1e5 1≤k≤10 1≤L≤R≤1e9)
输出
输出一个数表示满足条件的数组的个数。
样例输入
9 1 1 3
样例输出
19683
物资采购
时间限制:C/C++语言 2000MS;其他语言 4000MS
内存限制:C/C++语言 131072KB;其他语言 655360KB
题目描述:某公司要建厂投产一种产品,已知该产品共需要 k 种不同的原材料才能生产,而在这个工厂周围有 n 个可供建厂的地址,同时这 n 个位置都生产该产品所需 k 种原材料中的一种,在这 n 个位置间存在一些通行的道路,我们可以视这些道路的长度都为 1,保证这些位置之间两两都是连通的。
很显然工厂面临一个很严峻的问题,就是原料采集,我们定义采集一种原材料的花费为工厂所在位置到最近的一个该材料的采集点的距离,在一个位置建厂的成本为 k 种原材料的采集花费之和。
请你对每一个位置都求出其建厂的花费。
输入
输入第一行有三个正整数 n,m,k,分别代表可供选择的建厂地址数量,编号为从 1 到 n,这些地址之间的道路数量,生产所需的原材料数量,编号为 1 到 k。(1<=n,m,<=50000,1<=k<=100)
输入第二行包含 n 个正整数,第 i 个正整数 a_i 表示第 i 个地址是第 a_i 种原料的采集点。(1<=a_i<=k)
接下来有 m 行,每行有两个正整数 u,v,表示 u 号位置和 v 号位置之间有一条连接的路径,可能存在重边或自环(如样例所示)。
输出
输出包含 n 行,每行一个正整数,第 i 行表示第个位置的建厂成本。
样例输入
5 5 3
1 1 2 3 1
1 4
2 4
3 4
4 5
4 3
样例输出
3 3 3 2 3
小仓的射击练习 1
时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB
题目描述:小仓酷爱射击运动。今天的小仓会进行 N 轮射击,已知第 i 次射击,她击中靶心的概率是 a[i] -1 。
小仓想知道 N 轮射击后,偏离靶心次数为 0 ,1 ,2 次的概率分别是多少。
输入
第一行一个数 N,代表射击轮数。
第二行 N 个数 a[i],第 i 个数为 a[i]。
1≤N≤100,000
1≤a[i]<998244353
输出
不难证明答案可以表示成一个最简分数 p * q -1。
你需要输出三个 p * q -1 对 998244353 取模后的结果,以此来表示偏离靶心次数为 0 , 1 , 2 时的概率。
其中 q-1 是 q 在模意义下的逆元,满足 q-1* q = 1 mod 998244353。
例如 1/4, 可以写成 748683265,原因是 4 * 748683265 % 998244353 = 1,也有且仅有 x = 748683265,1 <= x < 998244353 满足乘积等于 1
样例输入
2
2 2
样例输出
748683265 499122177 748683265
一面
–
面试官没有让我自我介绍,直接开始问问题了:
-
你做前端比较擅长哪些方面?(CSS 动画,性能优化)
-
为什么选择用 CSS 做动画?为什么不用 JS 来做动画呢?(CSS 开启 GPU 硬件加速使用 GPU 渲染,帧率高 / JS 做动画灵活,但是容易引起频繁的回流(reflow)重绘(repaint),且使用 CPU 计算渲染,帧率只有 40 帧左右)
-
那如果让你用 JS 做一个动画,实现一个方块从 0px 移动到 100px 的位置,你会怎么做?(这种情况优先考虑使用 CSS,因为是简单动画)