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

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 条回复
Hozzz
2017-08-25 11:28:05 +08:00
@1ychee 这个能用 dataTables 实现大部分功能_(:з」∠)_(纯吐槽)
bestmike007
2017-08-25 11:33:19 +08:00
不得不说出题花了不少时间和心思,考察的点很基础也很全面,是不是骗代码,看下附件就知道了。

另外远程工作真的不适合楼主,但是其实跟是不是远程没啥关系,只是远程的要求更高。因为楼主都不知道自己是不是误解了对方的意思,也不知道该怎么正确有效沟通,出题者不是说了吗:“如果您不认同这种方式或者有其它原因的话,也请您告知一下我们”,看楼主这样贴出来我相信肯定没直接反馈给对方。

@1ychee 很好奇你们的题目,能分享一下么?
uuweZhou
2017-08-25 15:22:50 +08:00
@bestmike007 要求很高,所以你就认为别人达不到这个要求了?
Obelly
2017-08-26 14:32:10 +08:00
1, unix time 解决
2, SaaS 解决
3, 都没参与项目,毛个文档
4, 外购 APM 解决
5, 这个可以弄一年
1,2 看出技术力量薄弱,3,4,5 看出管理混乱
1ychee
2017-08-29 21:27:50 +08:00
@bestmike007 #82 算了算了啦~ 测试端口都停掉了。

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

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

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

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

© 2021 V2EX