宇宙条的工作总结:第一次做面试官经历分享

去年7月份应届入职,已经成为社会人13个月了。这期间发生了很多事情,近期相关的工作总结也会逐渐和大家见面。这次先和大家分享一次面试实习生的经历。

因为是不是正式秋招的面试,实习生面试大部分是相对简单些:不会故意问一些比较奇奇怪怪的算法,主要是编程语言的基础考察,以及通过简单常见的算法题考察候选人的编程思维。

基础考察部分普普通通,没有什么印象很深刻的事情。对于编程语言基础,只能和大家说:一定要比较熟悉一门语言,你会多门语言 && 都是了解的水平,对你的面试绝对是负面影响。

下面聊聊面试中印象深刻的部分:算法题部分。如上面所说,一般不会在算法上面为难实习生,所以算法面试环节的题目也比较简单:

二分查找的实现

这个简单吧,绝对良心 && 经典题目,因为是C++的面试,所以本文给出的代码都是C++的,java同学也可以看懂。

因为二分查找是经典的算法,这个题目本身没有什么问题,候选人也给出了很标准的二分查找实现,类似下面的实现:

int binarySearch1(int *a, int len , int target)
{
	int low = 0, high = len;
	while(low < high)
	{
	   int middle = (low + high) / 2;
       if(target == a[middle])
		   return middle;
	   else if(target > a[middle])
		   low = middle +1;
	   else if(target < a[middle])
		   high = middle;
	}
	return -1;
};

如果到这里,算法面试就结束了的话,感觉有点太水了。所以一个想法是在这个题目上延伸一下,但是又需要控制难度(毕竟只是一面)。然后拍了下脑袋,在上面二分查找的实现上又提了一个要求:

在第一个答案的基础上(不能改变函数的参数和返回值),实现下面的功能:

  1. 如果目标值在数组中存在,则返回目标值在数组中的下标;
  2. 如果目标值在数组中不存在,则调用函数方可以根据返回值得到目标值应该插入到数组的哪一个index。

实话说,上面这个题目其实也不难,就是在标准的二分查找的基础上增加了第二点要求,修改预期不是很多,比较二分查找本身难度就十分有限。

但是比较遗憾的是,半小时过去了,还是没有给出完全正确的答案。
最后的结果…大家也可想而知。大家平心而论,大家觉得这个道题难吗,欢迎大家评论留言发表自己的看法。

如果你还是非常想要本道题的参考答案:识别下面二维码,发送“二分查找”四个字即可获取最终的答案

最后,字节实习生一直在招聘,欢迎大家的加入:

字节跳动校招:
投递链接: https://job.toutiao.com/s/JM51YDB,校招内推码: SGREZYW
字节跳动社招:
https://job.toutiao.com/s/JM5h5u1

当然,如果你是下面的观点,那么当我没说:

来自公众号一篇文章的评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值