一个面试用例

作者简介: 英正明, 腾讯专家工程师。

在鹅厂,面试总是必不可少的。

在面试的时候,我常常用下面的方法考查代码和算法的能力。

发送面试通知时,会通知面试者会需要在白纸上手写或者笔记本上不借助IDE编写代码。当对面试者能力一无所知的时候,我最常问的第一个问题是:如何计算两个日期(年月日)之间相差多少天,需要在纸上或者文本编辑器上编写代码。允许面试者使用任何他最擅长的语言。

这个问题问完,有一些想半天还没动笔的,我会把问题简化为如何计算同一年两个日期(月日)之间相差多少天。减分。

有些人会问年的范围。加分。并限定从1970年开始。

有些会问结果是否存在负数。加分。

然后开始写函数声明,函数声明都写不出来的,直接pass。有些会用个结构体表示日期,有些直接在函数声明中使用整数分别表示年月日,都一样。

写实现的时候就五花八门了。

不能写出使用数组表示每月天数的,减分。

能把相差多少天首先抽象成计算某一天(比如1970.1.1)开始的天数,然后两个数字相减。大加分。

有些没有使用上面的方法,而是使用天数直接相减。只要能正确实现,大加分。

能把闰年函数抽象出来的,加分。我不要求写出闰年函数实现,只要能抽象,我会告诉面试者不需要写这个函数实现。

实现写完,看函数的实现,如果整体逻辑混乱的(基本都是面试者尝试直接通过日期加减获得间隔的天数),大减分。

如果整体逻辑清楚,但是有小问题的(例如月份下标出错,有泄漏的),小减分。

另外,整个面试过程中,如果碰到不清晰的,能主动及时沟通的,加分。

然后根据这个题目的答题情况,选择后面的题目。

相关推荐

腾讯云总监手把手教你,如何成为AI工程师?

Python分析231份招聘需求,如何成为AI工程师?

原文链接:

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据钻研

如何设计优雅的类结构

注:正文中的引用是直接引用作者作者的话,两条横线中间的段落的是我自己的观点,其他大约都可以算是笔记了。 「Clean Code」这本书从这一章开始文风有些变化,...

2686
来自专栏WindCoder

Python学习四周小结-测试题篇

自从发现网易云课堂的计算机课程系列中有Python后就报名听了下,作为新人很快被其模式所吸引了,同时发现自己之前自学时的不足,那时由于没有作业等,自己只是根据《...

1702
来自专栏一个会写诗的程序员的博客

[zz]Kotlin 和 Checked ExceptionKotlin 和 Checked Exception

最近 JetBrains 的 Kotlin 语言忽然成了热门话题。国内小编们传言说,Kotlin 取代了 Java,成为了 Android 的“钦定语言”,很多...

732
来自专栏Albert陈凯

2018-10-18 重构的那些事儿-令人厌恶的If~else switch caseif/else的恶瘤重构初体验–反射重构初体验–所谓模式重构初体验–Java8对模式设计的精简总结

几天前的一次上线,脑残手抖不小心写了bug,虽然组里的老大没有说什么,但心里面很是难过。同事说我之所以写虫子是因为我讨厌if/else,这个习惯不好。的确,if...

1652
来自专栏我杨某人的青春满是悔恨

漫谈面向对象

这年头但凡是写过几行代码的,想必都不会对面向对象(Object-Oriented, OO)这四个字感到陌生。但什么才是面向对象,不知道又有多少人真正去思考过。有...

1287
来自专栏C语言及其他语言

【每日一题】亲密数

题目描述 两个不同的自然数A和B,如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B称...

2714
来自专栏Java呓语

抽象工厂模式(选择产品簇)

对简单工厂模式还不了解的可以查看下我的历史文章 简单工厂模式,简单工厂模式的核心是使用工厂实现选择创建产品实现,这应该很好理解。

912
来自专栏java学习

每日一练(2017/5/23)

Java基础 | 数据库 | Android | 学习视频 | 学习资料下载 课前导读 ●回复"每日一练"获取以前的题目! ●答案公布时间:为每期发布题目的第二...

2437
来自专栏数据结构与算法

P2661 信息传递

题目描述 有n个同学(编号为1到n)正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象,其中,编号为i的同学的信息传递对象是编号为Ti同学。 游戏...

35011
来自专栏web编程技术分享

你可曾见过如此简单粗暴的JavaScript解说 -- js脚本运行机制

2886

扫码关注云+社区