腾讯校招 web 后端开发面试杂记(三)

引子

本文包括两部分: 笔试部分真题 和 hr 面杂记

笔试部分

2018/04/05 小雨
我参加了腾讯校招线上笔试, 本部分记录笔试中的三道编程题原题

编程题1|20分|翻转数列
题目描述:
小Q定义了一种数列成为翻转数列;
给定整数n和m, 满足n能被2m整除
对于一串连续递增整数数列1,2,3,4....每隔m个符号翻转一次
最初符号为'-'
例如n=8,m=2,数列就是:-1,-2,+3,+4,-5,-6,+7,+8;
而n=4, m=1, 数列就是: -1,+2,-3,+4;
小Q选拔咋不希望你能帮他算算前n项和为多少.
输入描述:
输入包括两个整数n和m(2<=n<=10的9次方, 1<=m), 并且满足n能被2m整除.
输出描述:
输出一个整数, 表示前n项和
示例:
输入
8 2
输出
8

编程题2|20分|小Q的歌单
题目描述:
小Q有X首长度为A的不同的歌和B首长度为Y的不同的歌
现在小Q想用这些歌组成一个总长度正好为K的歌单
每首歌最多只能在歌单中出现一次
在不考虑歌单内歌曲的先后顺序的情况下, 请问有多少种组成歌单的方法
输入描述:
每隔输入包含一个测试用例.
每隔测试用例的第一行包含一个整数, 表示歌单的总长度k(1<=K<=1000).
接下来的一行包含四个正整数, 分别表示歌的第一种长度A(A<=10)和数量X(X<=100)
以及歌的第二种长度B(B<=10)和数量Y(Y<=100), 保证A不等于B.
输出描述:
输出一个整数, 表示组成歌单的方法取模, 因为答案可能会很大
输出对1000000007取模的结果.
示例:
输入
5
2 3 3 3
输出
9

编程题3|20分|安排机器
小Q的公司最近接到m个任务, 第I个任务需要x的时间去完成, 难度等级为yi
小Q拥有n台机器, 每台机器最长工作时间zi, 机器等级wi
对于一个任务, 他只能交由一台机器来完成, 如果安排给他的机器的最长工作时间小于任务需要的时间
则不能完成, 如果完成这个任务将获得200*xi+3*yi收益
对于一台机器, 它一天只能完成一个任务, 如果它的机器等级小于安排给他的任务难度等级, 则不能完成
小Q像在今天尽可能的去完成任务, 即完成的任务数量最大
如果有多种安排方案, 小Q还想找到收益最大的那个方案, 小Q需要你来帮助他计算一下
输入描述:
输入包括N+M+1行
输入的第一行为两个正整数n和m(1<=n, m<=100000), 表示机器的数量和任务的数量.
接下来的n行, 每行两个整数xi和yi(0<xi<1000, 0<=yi<=100), 表示每台机器最大工作时间和机器等级.
接下来的m行, 每行两个整数zi和wi(0<zi<1000, 0<=wi<=100),表示每个任务需要的完成时间和任务的难度等级.
输出描述:
输出两个整数, 分别表示最大能完成的任务数量和获取的收益.
示例:
输入
1 2
100 3
100 2
100 1
输出
1 20006

其中第一道题提交返回 TLE
其他两道题均返回结果不正确(可能是语法错误?)

hr 面杂记

2018/04/19 晴
我参加了腾讯校招面试 - hr 面试, 关于初试/复试相关请看我以前的文章

因为是人事面, 过程大概用时 15 分钟
事先在网上查的人事面攻略也几乎没用上, 基本上都是家常话题, 老实点就好了

  • 谈一谈你的学习生涯中对你影响最大的事情(这个话题聊得最久, 基本1/2的时间都在聊这个)
  • 你最开始接触计算机/程序是因为什么
  • 你家人支持你吗
  • 你有考虑考研吗
  • 常规的户口确认(哪里人, 独生or非独生, 父母亲职业, 情感状况(TuT), 有无亲戚在腾讯……)
  • 期望工作地点以及原因
  • 还有没有去其他公司求职
  • 有什么要问我的

后记

其实我一开始的笔试做的挺烂的, 按照学院风的评判就是不及格, 很惊讶还是被传唤去了面试
一路打完三把面试, 听网友讲如果有幸入职, 复试你的面试官就是你的直属 leader
现在回想一下还是挺感触的, 那天下午我走进复试面试官房间, 直接注意到一些细节
床上的被子是乱的, 那天是下午 4 点面试, 应该是早上酒店阿姨帮忙整理后午休又弄乱了
衣服, 书包也是随意的放在旁边的床头柜上
再加上面试谈到了我在游戏方面的能力, 面试官饶有兴趣的跟我聊了很久
这些都让我觉得很年轻很有活力, 是一只活生生的猿 :P