2020腾讯运维开发暑期实习面经

一面凉经(4.13)

自我介绍

首先是面试官对所在部门的介绍,然后是自我介绍

项目

针对最近的一个项目问了一些数据来源、用什么特征之类的问题。因为简历里写到了clickhouse和spark,所以问了对clickhouse的了解,与MySQL的对比,还有clickhouse引擎、优缺点之类的。悲剧的是我只是简单使用过,完全不了解啊,甚至说出了clickhouse是关系型数据库此等蠢话(T_T)。然后还问了spark性能调优的经验。

基础知识

接下来问了两个Java的问题,第一个是重载与覆盖(重写?)的区别,第二个是hashtable和hashmap,继续悲剧,我对Java的了解仅限于刷剑指offer,我以后绝对不在简历里瞎写了
问了进程间通信机制,唉明明准备过的,却只答上来了共享内存、管道、信号量、套接字这四种。
然后问了知道栈和队吗?(面试官会不会以为我基础实在差,想照顾下我情绪,所以只好问问这种T_T)答了
继续还问了进程和线程的区别

解决问题的思路

问题1:假设一家超市只卖一种商品,需要对每天入库的商品进行编号,比如4月13号的就依次编号为“0413-001”“0413-002”……4月14号的就依次编号为“0414-001”“0414-002”……要怎么做?
回答过程:这个问题最开始无法理解题意,以为是一个算法题,就说最简单一个人顺着编,要节省时间的话,就两个人、多个人并行进行,节省时间,又都不需要申请什么数据结构。
结果面试官提示说希望我考虑的是并行是否安全,如何保证序号不重复且连续的问题。
就开始往加锁上扯呗,最开始说假设A、B两个人并行做,同时读取最新的编号假设是“002”,然后A和B在写入“003”之前检查一下当前最新是否还是“002”,确认再commit。但是这个想法其实并不安全。所以后续说干脆一点,当一个人读了最新编号以后,就不允许别人再读。面试官接着问这个怎么实现,我就懵了,操作系统里的锁机制怎么实现来着?想不起来啊,尴尬了一会面试官说其实你刚才已经说了,就用锁实现???我以为你问我锁咋实现……然后他说这样不会影响性能吗?我又想起来之前看到记不清是说数据库还是分布式文件系统,有读锁和写锁两种机制,就有跟面试官扯了扯,说加了读锁的允许读不允许写,加了写锁的既不允许读也不允许写,他说叫我整得还挺麻烦(T_T但是其实后来想想这个场景并不合适这么做,因为这个场景下凡是读取的,目的都是要写,也就是其实并没有单纯的读操作),这个问题就这么糊弄过去了

问题2:现在有一亿个数,要找到其中最大的100个数。
回答过程:开始理解(听)错了,以为是一万个,就先说,不考虑性能的话,一万个数是可以先排序,再取前一百的。然后面试官打断说是一亿(囧),就继续硬着头皮说不考虑性能和资源的话,就排序,然后取前一百。然后替自己挽一下,说当然了,这样做很不好,然后就想到分片的方法。说完分片以后就没其他想法了(准备着实不充分,之前看的面经一个没撞上)。
后面面试官没有提示,这道题就这么过了。之后自己看了下大家建堆的、建红黑树的方法,只能说都很有才啊。

问题3:(面试官面带笑容地问)你知道一张A4纸叠多少次,厚度可以相当于地月距离吗?
回答过程:我及其无助而诚实的回答了,我不知道(内心挣扎,此刻脑子里是Tony J听到淡黄的长裙,蓬松的头发的心声:这是什么??)。然后当然还要说一下计算思路。(拿出小学生解应用题的架势)这其实是相当于已知A4纸厚度和地月的距离,然后求要叠多少次。那么就用地月距离除以纸的厚度,得到的数是2的几次幂,就是要叠多少次。然后就想难道是要考察我怎么求log或者快速幂算法之类的吗?天啊,我之前看到了有个叫快速幂算法的东东,但我觉得没必要看这玩意,就pass了……这时候我心里拔凉,就等着面试官说是然后挂掉我,但是面试官居然说:这个数其实也不大,只需要叠42次就好。42次就好哈哈哈,我就顺坡下驴感慨那也不算很大嘛,可以算可以算,感谢面试官!!

问题4:假设要你设计一个除法功能(此刻心里辗转相除之类的东东在脑海里飞速旋转),两个空,一个填除数,一个填被除数,还有一个计算商的按钮,你需要考虑哪些情况?
回答过程:(哈!原来是一个类似测试的问题,还好我学过软件工程哦,我还记得测试用例咋设计的……)脑海里突然涌入了大三软件工程测试部分的内容,导致我这时候脑子混乱了T_T回答了好多种,但是很乱,最后想不起来其他的,就跟面试官说之前说的有点乱,要不我给您重新梳理下吧。就开始梳理,首先是不合法的输入的情况:某个空为空;输入的不是数字;输入的数字溢出;除数是0。然后是程序内部要考虑的:输入的数用int还是double表示;如果int,能否整除,不能整除的话,是取精确值还是向下取整;输入的数的正负。

问问题

最后问了面试官两个问题,第一个是对自己这次面试的看法,面试官答思维还算严谨,但是项目经验不足,对一些工具仅是应用,了解不深,另外语言基础不行。第二个问的是在腾讯压力大不大,他说要看部门看时间段。比如腾讯会议疫情期间就很忙。

总结

以上,不是很理想,面试官评价很客观,项目上确实不深入,基础上也确实准备不充分,自己认为思维也不缜密,可能第一次面试紧张吧,本来应该能多答出来的也没考虑到。
继续准备,争取下次不紧张。也感谢面试官,很nice,但是自己太紧张了,而且是第一次面试,不太熟悉这种交流方式。
然后就是持续刷腾讯招聘,看到进度灰下来估计就彻底死心了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值