没成绩、没竞赛、没实习还社恐的普通大学生第一次面试会经历什么呢?

最近#19级大学生的痛冲上了热搜。19级大学生是真的难。感觉还没上学,已经要面临毕业,面临找工作了~

19年年底,刚刚结束期末考等待放假的时候,手机推送了武汉出现不明原因肺炎病例,此时的我们并没有意识到事情的严重性。在此之后,全球有多个国家在很早之前就出现了新冠病毒的迹象,新冠病毒可能很早就已经出现在这个世界,人类错误地将其认为普通病毒,并且没有采取措施应对。

20年1月23日宣布武汉封城,学校也在不久后通知了开学时间推迟,时间待定。我们开始了在家上网课的日子…

前言

因为最近疫情反弹的原因,打消了我去外省实习的想法,选择了留在昆明。然而昆明的互联网行业发展的属实不太好,一时之间竟不知从何处下手,待我反应过来,为数不多的岗位已被瓜分大半。

HR面 2021年6月14日 (约45分钟)

HR: 自我介绍 & 公司介绍

  1. 首先自我介绍一下

  2. 闲聊: 你有什么业余爱好?

  3. 身边的老师同学对你是如何评价的?

  4. 说一下你的短期规划和长期规划?

  5. 如果你做的一项工作受到上级领导的表扬,但你主管领导却说是他做的,你会怎么办?

  6. 你对我们公司了解多少?有看过我们公司官网?你是从何处了解我们公司的?

  7. 你是应届毕业生,缺乏经验,如何能胜任这项工作?

  8. 你做过哪件事,你认为比较成功?/ 你做过哪件事,你认为做的比较失败?

  9. 你还有什么要问的吗?

笔试题(手写代码)

  1. 交换两个数的值,至少三种实现方法(进阶:不使用第三个变量)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include<stdio.h>

//方法一:使用第三变量实现
void Methods1(int a,int b) {
int tmp;
tmp=a;
a=b;
b=tmp;
printf("%d %d\n",a,b);
}

//方法二:不使用第三变量
void Methods2(int a,int b) {
b=a+b;
a=b-a;
b=b-a;
printf("%d %d\n",a,b);
}

//方法三:不使用第三变量
void Methods3(int a,int b) {
a=a*b;
b=a/b;
a=a/b;
printf("%d %d\n",a,b);
}

//方法四:异或实现,a = b时不适用
void Methods4(int a,int b) {
a = a ^ b;
b = a ^ b;
a = a ^ b;
printf("%d %d\n",a,b);
}
int main() {
Methods1(1,2);
Methods2(1,2);
Methods3(1,2);
Methods4(100,100);
return 0;
}
  1. 输入两个20位正整数,计算它们的和(二个超长正整数的相加)

整数范围是 253-2^{53}2532^{53},超出部分可能导致计算不准确,或者数据丢失,所以较大的整数相加,需要通过字符串的方式。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function addStr(a, b) {
let lenA = a.length, lenB = b.length;
for(let i = 0; i < Math.abs(lenA - lenB); i++) { //Math.abs() 取绝对值
if(lenA > lenB) b = '0' + b;
if(lenA < lenB) a = '0' + a;
}
let arrA = a.split('').reverse(), arrB = b.split('').reverse();
const arrSum = arrA.map(item => 0);
for(let n = 0; n < arrA.length; n++) {
let currentSum = parseInt(arrA[n]) + parseInt(arrB[n]) + arrSum[n];
if(currentSum > 9) {
arrSum[n] = currentSum - 10;
arrSum[n + 1] = 1;
} else {
arrSum[n] = currentSum;
}
}
return arrSum.reverse().join('');
}
addStr("999999999999999999999", "99999999999999999999") // '1099999999999999999998'
  1. 封装一个链表,至少实现基本操作(插入、删除、查找、遍历)
1
...