我真的遇到了这种公司...

2017-08-23 16:53:25 +08:00
 uuweZhou

###背景就是我投简历过去,然后收到了回复,如下:

###我复制一个文本在下面:

首先非常抱歉没能及时回复您的邮件,我们有一些紧急的事情耽误了。为了更全面考察候选人的能力,我们设计了一套贴近实际项目的题目,如果可以的话,请您完成之后把结果按照要求回复给我;如果您不认同这种方式或者有其它原因的话,也请您告知一下我们。题目如下:

附件中是一个带本地 git 仓库的项目,虽然是一个 demo,但是在此我们理解为实际的 Rest Api 服务。在开发协作的过程中遇到了如下的问题需要对这个服务进行多次升级:

  1. 开发对接过程中,前后端发现需要对接口传递的时间格式进行统一,讨论的结果是在这个项目中,不管是接口的输入还是输出凡是涉及到日期时间的地方,都采用 ISO 8601 compliant (例如 2010-01-01T12:00:00Z )的格式进行传递。于是你考虑用一种比较优雅的并且方便后期所有服务端开发同学的方式去实现,甚至都不去改动现有的接口实现( demo 中的/now
  2. 产品需要增加一个新的需求,提供一个无需登录的建议意见提交接口,需要用户提交的数据包括:姓名、电话、类型(意见或者建议)、内容,并且从数据统计来看,需要统计访问接口的来源,可能是不同的页面地址(可以跨域)通过接口提交的,也需要通过接口的 Cookie 追踪以及用户的真实 IP 来进行数据分析;从安全性角度来讲,为了避免恶意数据提交,产品提出我们假设相同 IP 或者相同 Cookie 都视为同一个用户,同一个用户一分钟之内只能提交一次(实际情况可能是可疑情况要求验证码,但是这个 demo 中不太好实现)。因此,除了用户输入的字段,你还要记录下调用接口的页面地址、用户的 Cookie、用户的 IP 地址、通过 IP 地址获取到的省和市。同时,运维同学表示,部署的实际环境中可能有多层的反向代理或者网关,这些反向代理都会按照标准反向代理的方式去传递 HTTP 头信息。为了实现这个需求,你需要引入数据库表设计并进行数据库版本管理、在项目中配置和使用数据库连接并且设计好接口最终可以提供给前端调用。
  3. 项目进行过程中,前端同学觉得这样不行,后端需要提供一个接口文档。后端同学进行了调研并且讨论,觉得手动写文档并且每次变动都去更新太麻烦了,需要一个自动生成的方案,并且最终决定用 swagger-ui。你需要引入 swagger-ui,完成现有接口的文档,并且把文档的书写和使用方式反馈给整个团队。
  4. 项目中并没有写任何的日志,运维同学反应,其实上线之后都会有日志收集系统,虽然线上不能直接 debug,但是出问题的时候可以通过日志查询来定位到问题。后端小伙伴们进行了一次讨论,觉得很有必要做这个事情,于是需要你给出一份书写日志的注意事项,并且按照这个规则给当前项目完善日志输出。
  5. 为了提高质量,减少返工次数,团队决定必须有基本的测试,包括接口测试和业务逻辑测试,于是你开始在项目中增加单元测试的框架,实现现有代码的基本测试用例,并且告诉团队其他人在后续开发中怎样使用这个测试框架,往后的开发流程会做哪些优化。

题目存在不合理的地方请谅解,请按照你觉得最好的方式完成上述的迭代工作,最终需要的是一份基于 demo 的、已经提交过 commits (不需要 push )的 git 代码库压缩包,若干你觉得有必要的文档,以及其他你认为有必要反馈给我们的信息。我们收到了不少优秀的简历,但是因为远程团队的特殊性,我们会根据整个过程中的细节进行探讨和评分,因此尽可能考虑全面,最终选择最合适我们团队的候选人。

多谢!

10006 次点击
所在节点    职场话题
85 条回复
amon
2017-08-24 09:23:27 +08:00
@Mingchuan 请现身解释一下吧。

——————————
他们甚至把 git 仓库都发给你了,让你写完 commit 一下,我觉得不必这样。
可以以面试为由让面试者做题,然后让他自测考验他的测试能力,
如果有 Bug 可以跟他沟通,令其思考哪里错了,如何改正。
最后验证通过,在生产环境开个权限给面试者,直接上线。

面试结果:你居然用 Tab 缩进?/ 你居然用空格缩进?很抱歉,这个好人卡发给你,再见!
g8287694
2017-08-24 09:38:48 +08:00
我个人感觉这种面试很有想法,比其他面试吹牛逼的要好很多,但是我还是不会做这种面试题,选择是双向的吧,除非我就选定这家公司了不然我是不会花那么多心思的
zhongkouwei
2017-08-24 09:46:31 +08:00
我觉得应该不是骗源码,很多小团队因为招人成本和风险高会很谨慎,而且这种难度,他们应该不至于实现不了吧。最重要的是连代码质量都不清楚,他们也不敢用吧。。这样一个个 copy 还不如自己写呢
ywu
2017-08-24 11:06:53 +08:00
这个公司这么做一点问题都没有
ZhLTE
2017-08-24 11:16:55 +08:00
本来就是远程职位的话 我觉得 ok
vjnjc
2017-08-24 11:30:35 +08:00
感觉没毛病,一般正常公司都是到公司面试,远程岗位就远程面试啊,没毛病。
QAPTEAWH
2017-08-24 11:34:24 +08:00
“好的我马上做”
“我正在做”
“‘非常抱歉没能及时’做完,马上就做好了”
“去你 mlgb 当老子傻啊”
l00t
2017-08-24 11:40:43 +08:00
这样的面试才能真的面试出水平啊。能看出是不是可以契合到实际工作中的。骗代码?你真以为什么代码都能用么?
l00t
2017-08-24 11:45:51 +08:00
@murmur 你这想啥呢。它说的是提供接口给前端调用,又不是说让前端直接写库。这是整个 demo 里的一步啊。这个 demo 显然是个后台服务。提供的接口当然是前端调服务的接口,服务自己再往数据库写。

项目没有日志是指到第三步结束的时候还没有任何日志。这第四步不就是加日志了?
shunia
2017-08-24 11:54:45 +08:00
说这是真题目的,也不想想,国内还有公司能这么认真的把你花很长时间(这套题做下来肯定时间短不了)做出来的结果全部 review 一遍,还对每个应试者进行对比,最终择优录用,并且还这么没名气?
你特么是在逗我.

这明显直接拿需求骗开发啊.
zhangshine
2017-08-24 11:57:06 +08:00
题目没问题,问题是耗时间 && 你耗时间做了他们会不会认真看
YangXiaoming
2017-08-24 12:01:23 +08:00
我觉得我会写几个 bug 进去。
a87150
2017-08-24 12:02:43 +08:00
如果全部做出来最后对方来一句不采用你会不会想 cnm
murmur
2017-08-24 12:24:46 +08:00
@l00t 所以说,一个远程的项目团队,都做了一大堆了,想到招人了,还没有日志

这个理解对了吧?
murmur
2017-08-24 12:27:46 +08:00
@l00t 另外,我也是用过 swagger 的,这个东西很屌,用 xaml 写的文档可以优美的显示为 html,还可以配置一下就带一堆文本框让你输测试值调试,也可以通过文档生成接口

但是看题目中,“需要一个自动生成的方案”,要么是通过 java 反推接口文档,要么是接口文档变动自动修改代码,两个我认为哪个都不可行,前者他连 log 都没有怎么可能有写文档的 javadoc,后者我加个参数那个人感觉把所有地方都改的好好的不报错

你认为呢?我感觉这就是个拍脑袋,先拍出个 idea,然后找面试人答题去试,万一行了呢?
Jimrussell
2017-08-24 12:30:30 +08:00
邮件都发了,公司名字不发?不知道楼主在怕什么
weakish
2017-08-24 12:32:48 +08:00
@shunia 得看 demo 的复杂程度。理论上这种题目里的 demo 应该是一个非常幼稚的「实现」(如果是真实项目光看现有代码可能起码要好几天,显然不适合面试)。如果 demo 足够简单的话,这个代码量 review 起来还好。毕竟不用这种方法,招人可能也看对方 GitHub 上面的代码,还有面试不管是问答还是白板编程成本也不低。
l00t
2017-08-24 12:36:18 +08:00
@murmur 你的理解当然是错的啊。人家这是个 demo,这是在描述一个题,你非要理解为在说自己团队的情况,这能对吗?

还有 log 和文档有啥关系?你程序里没有 log 输出又不等于一句注释也没有。“需要一个自动生成的方案” 怎么看都是指自动生成接口文档。
juice
2017-08-24 12:37:05 +08:00
老板说将遇到的问题当做面试题
murmur
2017-08-24 12:42:52 +08:00
@l00t 我们设计了一套贴近实际项目的题目 请读题 贴近实际项目

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/385222

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX