一个面试用例

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐

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

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

原文链接:

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Linyb极客之路

浅谈代码结构的设计

之前无论是作为开发还是测试,习惯性的觉得,别人提供了什么功能,就用什么样的功能,这样做天经地义。然而,在自己的架构设计过程中,如果有了这样额思维,很容易让自己的...

7620
来自专栏Albert陈凯

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

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

37120
来自专栏企鹅号快讯

谷歌大牛的编程建议和技巧

编译:伯乐在线/PJing 【伯乐在线导读】:Rob Pike 是谷歌公司最著名的软件工程师之一,曾是贝尔实验室 Unix 开发团队成员,Plan 9 操作系统...

25190
来自专栏大数据钻研

如何设计优雅的类结构

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

28860
来自专栏WindCoder

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

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

26520
来自专栏程序员互动联盟

【答疑解惑】推荐给新手的Java学习资料

国际惯例,每天更新答疑解惑。网友们在群里有很多问题讨论,小编挑几个很有代表性的问题给大家叨叨几句。 一、关于Java学习资料: 昨天有网友对于Java群中资料少...

29840
来自专栏Golang语言社区

伙计们,Go 并没有那么简单

出于好奇,我最近开始接触一些 Go 的代码。我之前对它有一些了解,但是从来没有尝试去写(没有需求)。但是现在我们团队选择使用 Go 来开发一个项目,所以我觉得这...

32460
来自专栏Java呓语

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

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

11720
来自专栏企鹅号快讯

什么叫代码的可读性?为什么说Kotlin的可读性比Java好?

不久之前,我看了一篇文章,大意是Kotlin与Java之间的对比,像这种文章,我一般是直接忽略的,但是那天我还是打开了,然后就看到一个非常吃惊的结果。 里面有一...

26070
来自专栏更流畅、简洁的软件开发方式

《你必须知道的.net》读书笔记 001——1.1 对象的旅行

    好久没看书了,上次看书的时候还是一年前了,一个偶然的机会,比较系统的看了一下OO的基础,封装、继承、多态等,当时真的是很不会,看了也是一知半解,迷迷...

20990

扫码关注云+社区

领取腾讯云代金券