注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
被某猎头联系面这家小公司,没有面经所以也没任何准备,面试官是一个大组的director,上来先问了简历项目和BQ,技术上问的很深入,主要围绕Kafka聊了很久。
然后给我出了一道题,他说非常tricky,让我仔细想清楚再回答。大概如下:- count_num(int num):
- if num < 0:
- return;
- print(num)
- count_num(num - 1) <------这里执行完后num的值是多少?是4还是0?
- count_num(num - 2)
复制代码 如果输入num = 4,会输出什么,显然这个tricky的地方在于,4 3 2 1 0 以后,我们会return(执行完count_num(num - 1)),然后执行coun您好! 本帖隐藏的内容需要积分高于 188 才可浏览 您当前积分为 0。 使用VIP即刻解锁阅读权限或查看其他获取积分的方式 游客,您好! 本帖隐藏的内容需要积分高于 188 才可浏览 您当前积分为 0。 VIP即刻解锁阅读权限 或 查看其他获取积分的方式 说的是对的,num的值确实变了,也就是说虽然中间递归调用了自己,但是从始至终都是一个num?
主要是这里递归传进去的是num - 1,又不是num--(对num本身操作),所以现在我还是觉得没有想明白,很tricky的操作。
|