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%内容,订阅专栏后可继续查看/也可单篇购买

2024校招宝典——软件版本 文章被收录于专栏

牛客独家出品,理工科求职必备攻略,适合岗位: 软件开发、数据库分析、软件测试、前端后端开发

全部评论

相关推荐

HR_丸山彩同学:你的项目描述里,系统设计讲了很多:MemCube是什么、三级存储架构怎么设计、四种遗忘策略分别是什么。这些面试的时候讲没问题,但简历上不需要这么细。 简历要突出的是影响力,不是实现细节。面试官看简历的时候想知道的是「这个项目有多大价值」,不是「这个项目具体怎么实现的」。实现细节是面试时候聊的 怎么改:技术细节可以精简为一句「采用三级存储架构+四种遗忘策略」,把省出来的篇幅用来写影响力。比如:项目有没有开源?有没有写成技术博客?有没有被别人使用过? 校园经历没有任何信息量,任何人都可以写这句话,写了等于没写。更关键的是,你投的是技术岗,校园活动经历本来就不是加分项。如果非要写,必须写出具体的数字和成果。如果你没有这些数字,那就老老实实删掉 「端到端耗时缩减30-40%」要给出确切数字和绝对值。从1000ms降到600ms是降了40%,从100ms降到60ms也是降了40%,但这两个含义完全不一样。其他也是,涉及到数据,准备好证据,口径统一,面试会问 「熟练」「熟悉」「了解」混在一起用,读起来很乱。而且「了解前端需求」最好改成「具备前后端协作经验」
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务