1.2 腾讯求职攻略-理工科版本
1.2.1 校园招聘时间流程
网申 |
机考 |
面试 |
offer |
7月-10月 |
8月-10月 |
9月-12月 |
10月-1月 |
1.2.2 薪资爆料
岗位 |
地点 |
学历 |
薪资范围(年薪) |
Java |
北京 |
本科 |
16-20K * 16薪 |
前端工程师 |
西安 |
本科 |
150-300元/天 |
腾讯音乐推荐平台开发暑期实习 |
深圳 |
硕士 |
250-400元/天 |
腾讯音乐推荐算法工程师 |
深圳 |
本科 |
250-400元/天 |
AILab-算法工程师 |
深圳 |
硕士 |
300-500元/天 |
*数据来源 牛客用户,更多详细信息可到牛客查询
1.2.3 面试真题
1、队列操作
【题目描述】
数据结构基础之一——队列
队列有五种基本操作,插入队尾、取出队首、删除队首、队列大小、清空队列。
现在让你模拟一个队列的操作,具体格式参考输入。
输入描述:
第一行输入一个整数T,表示接下来有T组测试数据。
对于每组测试数据:
第一行输入一个整数Q,表示有Q次操作。
接下来Q行,每行输入一种队列操作方式,具体格式如下:
初始状态下队列为空。
插入队尾:PUSH X
取出队首:TOP//仅仅是看一下队首元素,不要把队首元素删除
删除队首:POP
队列大小:SIZE
清空队列:CLEAR
1<=T<=100
1<=Q,x<=1000
保证操作为以上5种的任意一种。
输出描述:
对于每组测试数据:
如果操作为“取出队首”,输出队首元素,如果无法取出,输出“-1”
如果操作为“删除队首”,如果无法删除,输出“-1”
如果操作为“队列大小”,输出队列大小
其他操作无需输出
输入样例:
2
7
PUSH 1
PUSH 2
TOP
POP
TOP
POP
POP
5
PUSH 1
PUSH 2
SIZE
POP
SIZE
输出样例:
1
2
-1
2
1
【解题思路】
按题意描述的根据队列操作进行模拟即可。
【参考代码】
#include <bits/stdc++.h>
using namespace std;
int main() {
int t;
scanf("%d", &t);
while (t--) {
int Q, x;
cin >> Q;
queue<int> q;
while (Q--) {
string s;
cin >> s;
if (s == "PUSH") {
scanf("%d", &x);
q.push(x);
}
if (s == "TOP") {
if (!q.empty())
printf("%d\n", q.front());
else
printf("-1\n");
}
if (s == "POP") {
if (!q.empty())
q.pop();
else
printf("-1\n");
}
if (s == "SIZE") {
printf("%d\n", q.size());
}
if (s == "CLEAR") {
while (!q.empty())
q.pop();
}
}
}
return 0;
}
2、第K小子串
【题目描述】
输入一个字符串 s,s 由小写英文字母组成,保证 s 长度小于等于 5000 并且大于等于 1。在 s 的所有不同的子串中,输出字典序第 k 小的字符串。
字符串中任意个连续的字符组成的子序列称为该字符串的子串。
字母序表示英文单词在字典中的先后顺序,即先比较第一个字母,若第一个字
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
牛客独家出品,理工科求职必备攻略,适合岗位: 软件开发、数据库分析、软件测试、前端后端开发