最近做了BiliBili2021届校招数据分析岗的笔试题,和后端开发是同一套题,之前在找相关资料的时候没有发现数据分析笔试题型的信息,于是做完以后发个帖出来给大家参考。
时间一共是105分钟,30道选择题,共60分,3道算法题,共60分,加起来120分。
本来给算法题每题分了20分钟,每道选择题大概1-2分钟,最后做完选择题还剩下70分钟,今年算法题非常简单,提前25分钟做完了,感觉选择题是重点。
选择题基本上是计算机考研408的内容,数据结构、计算机网络、计算机组成、操作系统这些题目乱序地来。难度中等,如果能把408的书多看几遍应该问题就不大。
能回忆起来的内容大概是这些:
3道算法题都比较简单,在牛客网上看到有人发统计问卷,70%以上都AK了。
算24点,给4个数字,判断能否通过四则运算算出24。
题目是类似于leetcode
的那种,在给定的函数里面写代码,只要返回值,不需要输出。
这题数字比较少,直接暴力就能算。
double calculate(double x, double y, int countFlag)
{
if (countFlag == 0) {
return x + y;
} else if (countFlag == 1) {
return x - y;
} else if (countFlag == 2) {
return x * y;
} else if (countFlag == 3) {
return x / y;
}
return 0;
}
bool method(int * arr, int length){
double ans;
for (size_t i = 0; i < 4; i++) {
ans = calculate(arr[0], arr[1], i);
for (size_t j = 0; j < 4; j++) {
ans = calculate(ans, arr[2], j);
for (size_t k = 0; k < 4; k++) {
ans = calculate(ans, arr[3], k);
if (ans == 24) {
return true;
}
}
}
}
return false;
}
括号匹配,(
,{
,[
,三种括号,要求能依次一一配对。
比如([])
输出true
,[(])
输出false
。
vector
模拟栈输入输出即可。
bool method(string s){
string s;
vector<char> vt;
for (size_t i = 0; i < s.size(); i++) {
if (s[i] == '(') {
vt.push_back(s[i]);
} else if (s[i] == '{') {
vt.push_back(s[i]);
} else if (s[i] == '[') {
vt.push_back(s[i]);
} else if (s[i] == ')') {
if (vt.size() > 0 && vt.back() == '(') {
vt.pop_back();
} else {
return false;
}
} else if (s[i] == '}') {
if (vt.size() > 0 && vt.back() == '{') {
vt.pop_back();
} else {
return false;
}
} else if (s[i] == ']') {
if (vt.size() > 0 && vt.back() == '[') {
vt.pop_back();
} else {
return false;
}
}
}
if (vt.size() == 0) {
return true;
}
}
假的背包问题,现在我们有1024
元,购买N
元东西以后,用64
元,16
元,4
元和1
元的硬币找零,最少能找回几个硬币。
本来以为要用DP,后来发现直接贪心就可以了。
int method(int N){
int left = 1024;
int count64 = 0, count16 = 0, count4 = 0, count1 = 0;
left -= N;
while (left != 0) {
if (left >= 64) {
left -= 64;
count64++;
} else if (left >= 16) {
left -= 16;
count16++;
} else if (left >= 4) {
left -= 4;
count4++;
} else {
left -= 1;
count1++;
}
}
int ans = count64 + count16 + count4 + count1;
return ans;
}
哔哩哔哩2020校园招聘后端笔试卷(二)
哔哩哔哩2020校园招聘后端笔试卷(一)
联系邮箱:[email protected]
CSDN:https://me.csdn.net/qq_41729780
知乎:https://zhuanlan.zhihu.com/c_1225417532351741952
公众号:复杂网络与机器学习
欢迎关注/转载,有问题欢迎通过邮箱交流。