一个面试用例

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐

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

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

原文链接:

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

iOS一种动态栅格布局方案

前言 在日常开发过程中,我们会遇到一些需要不定期动态改变布局的页面或视图块,下面用张图展示一下: ? zdm_home.png 我以这张图解释一下需求,图上的几...

3446
来自专栏牛客网

阿里Android客户端一面经历

猝不及防的空降,表示电影刚开场、等了两个星期的一面应该是简历面吧,终于打过来了。讲道理并不敢拒面,天知道下次什么时候打过来。

671
来自专栏小狼的世界

利用MapabcAPI实现基于浏览器的地理定位

现在互联网中有了越来越多的地理位置服务,正在制定中的HTML5规范也试图在浏览器中内置嵌入地理位置共享服务,而且幸运的是,我们已经能够在Firefox 3.5+...

904
来自专栏逸鹏说道

07. Web大前端时代之:HTML5+CSS3入门系列~H5 地理位置

Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 定位类型 IP ...

3314
来自专栏WeTest质量开放平台团队的专栏

移动平台 Unity3D 应用性能优化(上)

一些关于移动平台上Unity3D的性能优化经验,供分享。

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

再论桥接模式(上)纸上谈兵

声明: 1、 这里不是讲解桥接模式,因为我觉得我没有那个实力,我现在还没有完全理解桥接模式。 2、 这里只是想把我这几天的思考、在群里的讨论整理一下,给自己...

1889
来自专栏技术博文

Redis GEO地理位置

Redis 的 GEO是在3.2版本才有的 官方说明:Redis 3.2 contains significant changes to the API an...

2874
来自专栏WindCoder

Java设计模式学习笔记—抽象工厂模式

文章最后“Java设计模式笔记示例代码整合”为本系列代码整合,所有代码均为个人手打并运行测试,不定期更新。本节内容位于其AbstractFactory包(pac...

651
来自专栏菜鸟前端工程师

JavaScript学习笔记024-默认行为0滚轮事件

652
来自专栏IT笔记

JAVA工作三年面试(一)

博主毕业快满三年了,由于种种原因想换一份工作。学了 7 年计算机技术,在目前的行业用到的技术不多,还是想去寻找一份互联网行业的工作,这样更能学以致用发挥自己的特...

6238

扫码关注云+社区