腾讯PCG微视部门-后台开发暑期实习一面-面经

面试时间:4月12日上午11点
面试官:小主管
面试时长:20分钟
面试过程:
面试官介绍部门,现在部门内主要用golang和C++做开发。
没有让我自我介绍

Q:你的简历上写的是21届毕业生?未来打算?
A:目前大四在读,计划读研,在九月开学前大概有四个月的空闲时间计划实习。

Q:进程和线程的区别?
A:
早期单道批处理操作系统中,CPU和IO串行,为了提高CPU利用率,提出进程,可以进行进程切换。提出线程是为了减小进程切换的开销,因为同一进程内的线程相互切换开销更小,进一步提高CPU利用率。
进程是资源分配的最小单位,在有线程的操作系统中,线程是最小基本单位。
进程有独立的内存空间,而同一进程的不同线程共享该进程的内存。
(还想继续往下说的时候被打断了)

Q:哪些时候会进行进程切换?
A:
主要回答了从运行态切换到就绪态/阻塞态,可能的原因:
时间片到,被抢占;缺少资源,等待IO。

Q:了解过协程吗?
A:协程是进一步对线程的划分,它的优势在于可以在用户态进行切换,不需要转到核心态,从而节省开销。

Q:内存管理的虚实地址?
A:回答了分页,分段,请求分页,请求分段的具体内容。

Q:free或者delete一个零地址会不会报错?
A:没明白他的意思,于是我类比了JDK1.7中Hashmap底层中的table[0]存null,说这个零地址里面存的应该是null,那么会报错。

Q:
char*p=“123”;
char a[]=“123”;
strlen§,sizeof§,strlen(a),sizeof(a)返回值分别是多少?

A:没复习过,猜的3,6B,3,6B。

Q:给定一个乱序int数组,先进行排序,然后输出相邻元素的最大差值。要求时空复杂度都为O(n)
测试输入:3,1,9,10
测试输出:6 (因为9-3)
测试输入:5,5,5,5
测试输出:0

A:我先用sort+遍历的方法AC了,他问我时间复杂度,我回答了sort底层,O(nlogn)。但是要求的O(n)没想出来,说了一下大致思路:肯定是一次遍历+辅助数组,排序算法的时间复杂度至少是nlogn,所以应该不需要实现真正意义上的排序(类比top k问题利用快排partition解决),辅助数组里面存的应该是每个相邻数字的差值,最后对它遍历求最大差值。

Q:对分布式有没有了解?
A:了解过负载均衡算法,但是他没让细说。

反问:
今天面的部门属于什么事业群?(因为那边杂音太大,面试官自我介绍的时候没听清)
今天面的怎么样?
我有哪些需要提高的地方?

结果:
已挂(腾讯办事效率还是很高的,简历是前几天下午投的,无意向,傍晚就被捞了,中午面试完,午休之后就出结果了)

总结:
刚考完研,实习面试没有准备充分,有的问题回答不上来,有的回答的不够深。遗憾的是算法题没有写出最优解,平常刷题的时候忽视了有时空复杂度限制的题型。面试官知道我有读研计划之后好像对我不太感兴趣了(猜测),所以提问大多没有深挖。
不管怎么说,这也是我面向企业的第一次面试,意识到自己的不足,有压力才会有动力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值