9 您如何在配对编程环境中展示性能? 最近我的工作中进行了绩效评估,我的职位很有趣。我们的团队进行了大量的结对编程,这倾向于平均化团队成员之间的技能差异(尤其是考虑到轮换对)。通常,在进行绩效评估时,您会回顾已完成的工作,并展示您已完成的工作以及如何超出期望以协商加薪或其他收益。 您如何在这样的环境中展示(甚至衡量)个人表现? 15 pair-programming metrics
5 分别对每个文件进行版本控制的版本控制系统有哪些优势? 在过去的几年中,我已经使用了几种不同的版本控制系统。对我来说,它们之间的根本区别之一是它们是分别对文件进行版本控制(每个文件具有其自己单独的版本编号和历史记录)还是对整个存储库进行版本控制(“提交”或版本代表整个存储库的快照) 。 一些“按文件”版本控制系统: CVS ClearCase 可视SourceSafe 一些“整个存储库”版本控制系统: SVN 吉特 水银 以我的经验,每个文件的版本控制系统仅导致问题,并且需要更多的配置和维护才能正确使用(例如,ClearCase中的“ config specs”)。我有很多实例,其中一位同事正在更改不相关的文件并破坏了理想的隔离开发路线。 这些按文件版本控制系统的优点是什么?每个文件版本控制系统没有的“整个存储库”版本控制系统有什么问题? 15 version-control
7 设计用于保存财务记录的数据库时,需要哪些特殊注意事项? 我希望这个问题不会太广泛。将来,我可能需要向某些应用程序(主要是基于Web的应用程序,但我的问题也涉及台式机应用程序)中添加一些会计和财务跟踪系统。 现在,从理论上讲,创建金融交易的简单记录很容易。一个带有几列的数据库表可以完成这项工作。甚至MS Access,Excel,甚至只是纯ASCII文本文件都可以用于存储交易日期,帐户ID和美元金额。但是,我认为,即使是具有事务完整性的频繁备份的SQL表也可能不足以进行严重的财务跟踪。 我听到诸如“两次进入记帐”之类的术语,并且我感到大多数财务跟踪应用程序(例如Mint.com或GnuCash)都具有更复杂的数据结构或流程来确保一切完全合乎要求,完美地相加,并且不会丢失或破坏任何数据。 我的问题是:在设计用于跟踪财务交易的应用程序时,应考虑哪些特殊的设计注意事项?似乎可能存在很多潜在的问题...舍入精度,奇偶校验,某种审核过程,特殊备份,安全性/加密,在数据输入中间出现崩溃的情况下保护数据的其他方式等问题。 ...我真的不知道我应该具体询问什么,但是我感到编程行业有一些我一无所知的最佳实践。这些是什么? 编辑: 看来我打开了比预期更大的蠕虫罐。为了明确起见,我正在特别考虑两种类型的应用程序: “检查注册表”类型的应用程序(例如GnuCash或Quicken)会保留个人交易记录供自己使用。 跟踪与公司打交道的供应商和客户的发票/贷项/或“积分”的应用程序。 我可能不会进行任何直接银行业务或(AFAIK)附带大量与金融相关的政府法规的工作。 15 security database-design financial system-reliability
3 多任务如何工作 我对操作系统的内部运作一无所知,但是我可以或多或少地猜测许多功能的近似行为。不过,我无法弄清的一件事是多任务处理。 从理论上讲,操作系统会根据CPU以较小的时间间隔运行各种程序来管理时间。但目前还不清楚这是如何真正起作用。 假设操作系统要启动我的程序。机器代码从某个地址开始加载到RAM中的某个位置。我想应该跳转到该地址,以便执行我的代码。但是以这种方式,直到我跳回操作系统,操作系统才能重新获得控制权。 基本上,我可以想象只有两种方式可以完成这项工作,但似乎都不合适: 操作系统可以读取我要执行的机器指令并对其进行仿真,而不是直接执行它们。我故意含糊其词,因为我不知道这将如何工作,但似乎会大大减慢该程序的速度。 或者,操作系统可以等到我进行系统调用。在那一刻,它重新获得控制权,并可以检查我已经运行了多长时间并进行了分时操作。这可能有效,但是似乎不可靠,因为我可以进行很长的计算而不涉及系统调用,并且会挂起所有内容一段时间。 因此,似乎这两种机制都无法很好地发挥作用。实际如何执行多任务处理? 15 operating-systems
5 通常如何滥用模拟对象? 我最近读过一篇文章,其中说到模拟对象经常被误解和滥用。我可以寻找任何清晰的模拟反模式吗? 15 testing tdd anti-patterns object-oriented-design mocking
5 作为一名经验丰富的开发人员,获得学位的最佳/最简单方法是什么?[关闭] 关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 4年前关闭。 在过去的五年中,我一直是一名活跃的专业软件开发人员(主要使用.NET),并且我不会太忙,我会说我是一位非常有能力的开发人员。我密切关注最新的工具,行业和现代标准/实践。我在一家相当高级的IT公司工作,其余的人也很好。我什至了解最新的团队动态方法,并觉得自己具有良好的领导/管理/人际交往能力。 但是,我从未获得学位。我从数百本书和经验中学到了自己的知识,并且正在学习。我经营自己的软件公司已有一段时间,直到大约一年前经济遭受重创。花了很长时间和大量的应用程序,但我终于找到了现在的工作。 像个白痴一样,我辍学放弃了支付更多的学费,我开始了自己的公司,随着生活的发展,现在我希望自己留下来并获得学位。我有违约的学生贷款,由于我现在又要赚很多钱,我正在尽力偿还这些债务。 没有这个学位,我打了太多的天花板。首先,我永远不会比拥有相同知识和经验水平但拥有学位的人多。同样,在没有学位的情况下获得行业工作所花费的精力也令人筋疲力尽。 现在,我想知道获得学位的最佳方法是什么? 是否有可以提供此学位的在线学校? 在线学校甚至会是一个不错的选择吗? 我在行业中的知识和经验是否可以帮助我更快或更便宜地完成学业? 你们有没有发现自己处于类似的位置?如果是这样,您如何克服摆在您面前的所有障碍? 你们中有没有人拖欠学生贷款并试图稍后再上学?您是如何处理的,它如何影响您? 15 web-development education
6 一家大公司如何犯新秀错误而留下安全漏洞?[关闭] 按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 索尼最近遭到SQL注入攻击,其用户的密码以纯文本格式存储。这些是菜鸟的错误。在这么大的公司中,这如何通过质量检查?他们怎么没有更好的团队呢? 被黑客入侵的公司的绝对规模使情况有所不同。它影响到我们所有人,因为我们都有一天可能会发现自己在一支负责此类事情的团队中,然后我们得到了斧头。那么,导致这种情况的因素是什么,我们如何防止它们呢? 15 security qa mistakes
15 在电话采访中使用辅助工具是否不诚实?[关闭] 已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 要完成像样的技术工作,您需要花费大量时间来进行电话筛选过程。如果您通过电话吮吸,通常不会有机会证明自己的身份有多么糟糕。 这些面试,即使是经验丰富的高级职位,也经常涉及琐事风格的问题,而不是基础知识。对我来说不幸的是,他们总是处在我通常不会考虑和想不到的准备工作中。有了他们的更多经验(我没有申请过很多这样的职位),我想我可能会变得更好,但是与此同时... 例如,将十进制值XX转换为十六进制或二进制。上次我对某事进行面试时,对如何真正做到这一点一无所知。我很少需要照顾。每当我想将值与数字相关联时,只要要将值与位结构和十进制相关联,就使用十六进制。我很少在两者之间转换。当我确实需要时,我只需弹出计算器,然后让它为我做。这并不是很难,也不是什么,但是由于某种原因,我什至不记得该怎么做。我告诉了面试官真相,并告诉他我有更多的机会改用其他方式(因为这样,很容易,但我仍然可以理解)。 然后,他提到大多数人为此感到挣扎,并想知道这是否是某种年龄差异。也许吧,也许不是。我解释了我来自哪里,然后就这样了。 但是,作为电话采访,他无法确切地说出我的答案。仅仅使用我经常使用的工具也许是完全合法的? 你怎么看?如果您在面试某人时问了类似的问题,然后发现他们是使用工具或参考资料来回答您的问题,而不是用手或在他们的脑海中回答。...您会生气吗?您会认为这是不诚实的,还是会很好地使用可用的工具来解决问题? 15 interview
6 如何发现和记录违反GPL的行为? 当您无权访问其封闭源代码时,如何发现某人将获得GPL许可的开放源代码复制到其封闭源商业应用程序中? 编辑:很好的答案!第2部分。如果它是Web应用程序,而您甚至没有访问可执行文件的权限,该怎么办? 方案:他们复制源,对gui进行一些细微更改,因此前端几乎相同;向原本完全相同的后端添加新功能;并且无法将其释放回开源。 15 open-source gpl law closed-source
6 完全不了解RB树可以吗?[关闭] 已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 所以我刚在科门学到了红黑的树,哇!通常,我喜欢理解所有算法和数据结构,以至于我可以从头开始重建它们而不必欺骗伪代码。我非常喜欢算法,因此我喜欢学习它们的工作原理,并且通常逐行阅读代码并检查是否发生了我理解应该发生的情况,从而尝试某些情况。 仅仅了解正在发生的事情,就花了我很多时间去做RB树。即使有本书的解释,我仍然很难理解代码。更不用说我不明白轮换的方式/原因。我根本不觉得它直观。我的意思是,插入的三个(实际上是六个)不同的案例,然后是四个删除的案例?有可能了解这件事吗?对我而言,如果不作弊就无法重建此代码。在使用二叉树之前,我可以通过一些调整将这些东西付诸实践,但总能奏效,但是RB树我什至不会尝试。我的意思是,即使老师有时也会感到困惑,所以我想这确实不是那么容易,但同时,我们是否不应该了解正在发生的一切,或者至少是为什么?这本书没有 不能真正解释有人是如何提出轮换的想法的。有人怎么注意到2圈旋转可以解决任何插入问题?棒极了! 我的问题是,我真的必须100%了解RB树吗?在没有完全理解它的情况下,我感到有些不愉快。在此先感谢大家!(PS:RB树没有标签,实际上树甚至没有标签,只有二叉树,所以我只放算法) 15 algorithms
10 良好的编码风格对于决定雇用程序员的重要性有多大?[关闭] 已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 即使是学生,我也被要求查看未(未通过)测试的程序员的代码(在android上创建斐波那契数字的列表)。 虽然我对编码样式非常严格,但我只是读到有人使用的“块”样式(请阅读注释!)。 在我的职位上,我建议不要雇用使用这种风格的人。该代码与我所使用的编码风格完全相反。 在寻找编码风格以及如何解决编码风格不足时,我很好奇一件事:我是否应该聘请一个会严重的麻烦 适应公司使用的编码风格? 请:这一般不应该是关于编码风格的讨论,那是更好的选择。关于聘请决定的编码风格的重要性! 更多信息: 我不是做出决定的人,我只是根据代码给出我的意见。这个家伙必须通过一次面试,我们的负责人都要检查软技能。如果他通过了这一点,那么他就必须通过我们的小技巧测试,这是有时要求我检查书面代码的地方。我不能说是或否。我只想知道编码样式对我的审查应该有多重要... 15 hiring coding-standards coding-style
9 没有经验的开发人员忘记考虑的最糟糕的事情是什么?[关闭] 按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 作为一个年轻的开发人员,我会发现对于开发高质量应用程序时需要考虑的一些建议很有用。在我的大学课程中,大多数老师都强调输入验证,有些老师则谈到安全问题,但是没有人提到某些其他事情的重要性,例如日志记录。 没有经验的开发人员会犯哪些错误,而这些错误可能导致更有经验的开发人员感到沮丧? 15 applications quality professionalism
8 如何向我的雇主(不是程序员)报告项目(敏捷)的进度? 我向雇主报告进度有问题。我是兼职程序员,为我学校的(非技术)部门处理一个软件项目。 联系人: 1.实际使用该软件并提出功能要求的员工; 2.我的老板(非程序员),她不是软件的用户。 该项目的性质: 它是一种现成的软件,已从第三方购买。我必须修改或添加此软件的功能才能满足部门的需求。这是整个学期需要使用的软件。并非一开始就需要使用所有功能。 因此,我们使用的是敏捷模型:当员工需要某个功能时,他们会提出一个请求,然后我进行更改。在本学期末,我认为所有必需的功能都将得到提高和实现。 问题: 每次老板问我进度如何时,我都无法回答,因为我不知道如何回答。我没有所有必需功能的完整列表。尽管我已经完成了上周提出的功能,但是我仍然不能告诉老板我已经“完成”了,因为新功能也即将推出,我也不知道要增加多少。我不能说“我们有多少完成率”,也不能说“我们要在xxx之前完成”。有时候,在3个请求中,我设法完成2个,我会告诉老板“我已经完成2个,但是其中一项功能尚未完成”。过了很长一段时间,我听起来像是“经过这么长时间,我总是有些事情没有完成”。 无法报告进度使我看起来非常糟糕。这不关我做了多少,而是关乎如何让人们知道。如果我是经理,而我的员工几个月都没有向我报告进度,那么我也会觉得这个人也无能为力。 你们有任何想法如何报告,或回答诸如“软件修改的状态/进度是什么”这样简单的问题吗? 更新 我的老板没有直接参与开发任务,因此她对我在做什么或程序如何工作一无所知。由于她很忙,我们不定期开会,我觉得这会浪费时间,因为她不是主要用户,她也不知道程序的细节。 我会定期与使用和了解该软件的人员会面。 我很难向老板解释进度。 15 project-management agile reporting
5 为什么扩展DOM /内置对象原型是一个坏主意? 我正在寻找一个明确的答案,以说明为什么扩展内置原型在JS开发人员社区中受到如此严重的抨击。我使用Prototype JS框架已有一段时间了,对我来说[1,2,3].each(doStuff)似乎比做的要优雅得多$.each([1,2,3], doStuff)。我知道它会造成“名称空间污染”,但我仍然不明白为什么将其视为一件坏事。扩展内置原型是否还会导致实际性能下降?谢谢! 15 javascript jquery prototyping
6 是说“ JSON对象”多余吗? 如果JSON代表JavaScript对象表示法,那么当您说JSON对象时,您不是真的在说“ JavaScript对象表示法对象”吗? 说“ JSON字符串”会更正确吗? 还是简单地说JSON更正确?(如“这两个服务在它们之间传递JSON”中所述。) 15 documentation grammar json