如果你的心里有计划,或者你想要解决更高层次的问题,那么你可以对自己说:“这可能不是一次愉快的经历,但是我真的想要解决这个大问题,所以我一定要克服这个障碍。” ?...很快大多数学习者掌握了理论知识,甚至完全可以自己来解释某个代码片段的工作原理。理论只是概念的有限集合。任何人都可以在几天之内记住它,如果她/他真的想的话。那么,关键的问题是什么?...解决一个任务不应该超过20行左右的代码。下面这些提示有助于成功做到这一点: 如果你不能解决这个任务,那么进一步将它分割成更小的任务。 一个任务一次不应该使用太多的理论概念。...我的代码是否足够整洁?对其他开发人员,甚至是自己而言,代码是否易于理解和改变?因为以后可能需要修复隐藏在这段代码中的问题,或者根据其他产品规格改变代码。 我的方法是最好的吗?...不妨将此看成是一个机会,一个修复错误提高编程能力的机会。当你解决了一个bug,可以问问自己这个问题:“我为什么会犯这种错误?以后我该如何预防再犯?”
,能看出有什么问题吗?...或者说看完有人明白这段代码要做什么吗? 我先来说一下我的问题: getThem是get什么?...list里存的是什么 keys指的是什么,为什么遍历它 常量”1“的意义是什么 这几个问题可能只有写这段代码的人才能解释(没错,就是我写的)。...所以我来给大家解释一下,不过我不想一一回答上面的问题,我把代码重写一遍,看看还会不会有这样的问题。...避免误导 命名过程中要注意的第二点就是要避免名称对别人产生误导,例如上面代码中paidOrderIds这个变量,如果我们命名成paidOrderIdList呢,看起来似乎没什么问题,但是如果这个变量是Set
SQL145题系列 程序员在编程过程中,经常会在代码中使用到where 1=1,这是为什么呢? SQL注入 初次看到这种写法的同学肯定很纳闷,加不加where 1=1,查询不都一样吗?...是的,上面的查询结果是没有区别,但是这并不是我们要添加它的目的。我们知道1=1表示true,即永真,在SQL注入时配合or运算符会得到意想不到的结果。...例如,当我们要删除客户名称为“张三”的记录,我们可以这样写: delete from customers where name='张三' 这个时候如果在where语句后面加上 or 1=1会是什么后果...代码为: select * from table_name where var2=value2; 这个确实没有语法错误,但是当condition 1和condition 2都为真呢?...但在5.6版本(也可能更早几个版本)以后这个问题被优化了,在写where 1=1时,查询分析器会将1=1处理掉,所以不会对查询造成性能影响,感兴趣的小伙伴可以试验一下,反正我试过了。
10、功能测试用例需要详细到什么程度才是合格的? 这个问题也是测试工程师经常问的问题。...其中的原因主要如下: 代码复用、拷贝代码导致程序员容易犯相同的错误。类的继承导致所有的子类会包含基类的错误,反复拷贝同一代码意味着可能也复制了缺陷。...单元测试是由程序员自己来完成,最终受益的也是程序员自己。 集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。...所以其中最重要的是测试测试策略和测试方法。 19、你以前工作时的测试流程是什么? 公司对测试流程没有规定如何做,但每个测试人员都有自己的一套测试流程。我说下我自己总结的流程吧。...二是这种情况不可能发生,所以不需要修改,这个时候,我可以先尽可能的说出是 Bug 的依据是什么?如果被用户发现或出了问题,会有什么不良结果?程序员可能会给你很多理由,你可以对他的解释进行反驳。
做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试 04.您认为做好测试用例设计工作的关键是什么?...可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。 集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。...(我想问一下就是她问这个问题的动机是什么) 通常你对于别人批评你会有什么样的反应 如果明知这样做不对,你还会依主管的指过去做吗 如果你接到一个客户抱怨的电话,你确知无法解决他的问题,你会怎么处理...分析这个问题是用来了解你的计划能力的,通过这个问题,面试人同时还可以知道你的目标是否符合企业对你的安排。 错误回答我想在将来的某个时候考虑这个问题。...错误回答 我一直都想在企业界工作。自孩提时代起,我就梦想自己至少也要成为大企业的副总裁。 评论 除了难以令人相信之外,这种回答还存在一个问题:它表明求职者会对副总裁以下的职位不感兴趣。
系统出异常了我不知道,等问题闹大了用户投诉了才知道。这个问题出现非常多,而且非常严重。...针对这些功能,在流程上当然可以采取相对的策略来保证,但从开发的角度来说,任何规定都无法保证一定不会发生错误,老虎也有打盹的时候,我只相信代码。 贴一段非常常见的代码,大家觉得这段代码有没有问题? ?...导致的问题,第一代码可读性很差,你如果工作了看到一半代码是try-catch和空判断你会同意我的观点的,第二更加重要的掩盖了很多错误,如上面图片的例子!...日志是不会有人看的,我们的目的是尽早让错误抛出来,还有,你加了空判断,那你测试过为空的场景吗? web请求上的异常,不允许开发人员捕获,直接抛到前台,会有controller处理!...但是,你要知道你遇到的是什么问题,要解决的是什么问题?
你现在的技术,来这边不做技术能接受?为什么考虑转测试? 答:测试本身就是找产品的bug,技术只是一种解决手段,技术只是提高我的效率,但是技术不能解决所有问题,还需要人工去测试,没有什么不可以的。...答:我说最近我这个项目经常加班,别人996,我10106,项目需要肯定要加,我们公司领导不强制,没事不让来,比较open。一般我们的公司文化是周二周四加班。 你还有什么问题要问我的?...我之前有问过你们相关的同事。 她说不一定,只是有经验要求高些,那些同事说不合适是他们不急着招人。 然后后面的问题随便问几个,比如测试团队多少,负责做什么业务,岗位负责什么? 最后还问有后续吗?...答:我尝试过,但是工作量很大,我就放弃了,可以用表格模块化开发,我尝试做可视化平台,让不懂代码的同事可以通过可视化开发写脚本。 你期望薪资多少?...框架原理是什么? 答:通过UI的id、名称什么的实现,我只拆解封装过键值。 你说你最近做的前端开发?讲讲,都有什么功能。 答:把我做的事情说出来 熟悉数据结构吗? 推和队列的区别?
我花了两天时间,绞尽脑汁地进行各种测试,审查代码逻辑,但完全没发现到底是什么地方让这个程序变得如此之慢。 就在第三天,在我穷尽了所有的办法,最后一点理智也快要消失的时候,我终于发现了问题所在。...而在生产代码中,每次调用读取的时候,这段等待命令都会被执行,这就进一步放大了产生的问题。 于是,我把这行代码删掉了。好家伙,一切都正常了!...这个程序是不是已经足够好了?你要去理解这个程序将会被如何使用,知道它是在怎样的环境下运行的,明白如果让它运行的更快到底有没有好处。在真正开始代码优化之前,你必须要问自己这几个问题。...最常见的错误做法就是,花了一整天去重构优化一段代码,结果在运行的时候发现,这段代码平时根本用不到。 分析器能精确地测量出你的程序把时间都花在什么步骤上了。...推荐看这篇:基于 Gitlab 的代码审查。 低效的代码不会对系统的日常运行造成太大影响。由于这个明显的理由,我们往往会倾向于让效率低下的代码通过审查——因为它并没有产生任何真正的伤害,不是吗?
在面试过程中,一般都会有一个固定环节,那就是在临近结束时,面试官会问求职者:你还有什么问题吗?...内容包含关于职位,公司,文化,工作内容等一系列问题,覆盖面还是挺广的。 大家在看的时候可以记一些自己感兴趣的,然后结合具体面试过程,提有针对性的问题。...我预计会在这个职位上停留多久? 我的日常职责是什么? 你预计我会花多少时间在每一个上? 我都会使用哪些编程语言? 公司会给我时间学习我需要使用但还不会的语言吗? 你有目标薪资范围吗?...关于副项目,公司的政策是什么?我可以在自己的网站上工作吗? 我是否拥有我自己在自己的硬件上编写的代码,还是公司声称它是他们的? PHP 您使用公共框架还是内部环境?...管理内部/外部防火墙规则的流程是什么? 看完之后你什么感觉呢?反正对于我来说还是挺惊讶的。里面的很多问题都让我怀疑,国外的求职者真的会在面试过程中问这些问题吗?问得这么细?
也许吧,这些或多或少都确实是已经存在的事实。 业务太复杂难道是失控的原因吗?回想一下软件的目的是什么?解决一些领域的相关问题,那么我们可以让业务的复杂性会消失或者降低吗?答案是肯定的,不会!...你说空运这不是降低了快递时间,和降低复杂性不是一样的吗? 其实并不是,因为复杂性指的是无论你用什么快递方式,从广州到北京这段物理距离上的时间消耗是无法消除的,指的是这个过程你无法消除。...也许你代码的消费方已经按照它实际的行为去处理了,这时候你贸然把这个bug修复了,结果可能时消费方反而不能正常工作了。这时候这个错误的测试其实也就变成了消费方的一种契约测试。...那么我的回答是:也不是途径,你这条途径可能会违宪,你觉得它合适吗?也不是目标,也不是途径,那么它到底是什么?...这其实大可不必,OO是来解决一些问题的,但是它并不能解决全部问题,那么多static的类或者方法,它OO吗?OO只是解决我们问题的一种途径,也不是唯一的途径,千万不可把工具当目的。
大部分工作中不需要什么技术,你只要把代码写好,足够你轻松面对! 言归正传,说回第一个问题,系统出异常了我不知道,等问题闹大了用户投诉了才知道。这个问题出现非常多,而且非常严重。...针对这些功能,在流程上当然可以采取相对的策略来保证,但从开发的角度来说,任何规定都无法保证一定不会发生错误,老虎也有打盹的时候,我只相信代码。 贴一段非常常见的代码,大家觉得这段代码有没有问题? ?...导致的问题,第一代码可读性很差,你如果工作了看到一半代码是try-catch和空判断你会同意我的观点的,第二更加重要的掩盖了很多错误,如上面图片的例子!...日志是不会有人看的,我们的目的是尽早让错误抛出来,还有,你加了空判断,那你测试过为空的场景吗? web请求上的异常,不允许开发人员捕获,直接抛到前台,会有controller处理!...但是,你要知道你遇到的是什么问题,要解决的是什么问题?
二面: 拔得很高,都是些很抽象的问题,结合简历来问的,面试官喜欢临场发挥,提一些问题。这个面试官气场很强,几乎打乱我的节奏。 让你带一个全新的系统,你打算怎么做? 命令模式是什么?...“这个问题我会分三个阶段解决,首先。。然后。。”如果分到原子问题,仍然不会,可以求助面试官,但是求助之前必须试探几个思路,“您的问题是这个意思吗?...我是这么回答的,“判断一个排序是否稳定要看算法中每一次循环中比较的步长,如果步长大于1,就是不稳定的” 面试官“那你说冒泡是稳定的吗” “是的,因为它只有相邻的作比较,步长等于1” 面试官“那插入排序呢.../因为网上没有搜到相关的解决方案,我去查看了源代码,发现问题是。。 但是这都是我一些比较粗浅的见解,面试官您作为这个技术的资深从业人士,您觉得这个问题还有什么更好的解决方案?”...“你觉得你的缺点是什么?” 这个问题非常难以回答,一不小心回答错误整个面试印象分会被拉倒非常低。 一些经典回答又被大家用烂,也会让面试官讨厌你。 ............
问题5:我在有的电脑上使用标准版或在线修复版修复DirectX后,程序弹出c++组件仍异常的提示,让我使用增强版再修复;而在有些其他电脑上使用标准版修复完成后,却没有这个提示(此时我感觉c++仍有问题)...如果修复后仍不能解决,则通常是由于显卡驱动有问题造成的,建议到显卡官网下载最新驱动安装即可。 问题11:本程序是只能修复C盘中的DirectX吗?其他盘中的如何修复?...所有的DX组件都有微软的数字签名,请放心。 问题14:我的Windows 7用的是DirectX 11,该软件可以修复吗? 答:可以。...如上问所说,软件中包含了DirectX 11的文件。 问题15:我的游戏运行时出现0xc000007b错误,能用本软件修复吗? 答:能。...19:修复失败会对我的系统有什么影响吗?
我花了两天时间,绞尽脑汁地进行各种测试,审查代码逻辑,但完全没发现到底是什么地方让这个程序变得如此之慢。 就在第三天,在我穷尽了所有的办法,最后一点理智也快要消失的时候,我终于发现了问题所在。...而在生产代码中,每次调用读取的时候,这段等待命令都会被执行,这就进一步放大了产生的问题。 于是,我把这行代码删掉了。好家伙,一切都正常了!...这个程序是不是已经足够好了?你要去理解这个程序将会被如何使用,知道它是在怎样的环境下运行的,明白如果让它运行的更快到底有没有好处。在真正开始代码优化之前,你必须要问自己这几个问题。...在此之前,你必须已经通过第二步的性能分析发现了“热点”,并且试过使用编译器进行优化——毕竟绝大多数这些问题能让编译器帮你解决,也避免了你把这些代码弄得过于复杂。...推荐看这篇:基于 Gitlab 的代码审查。 低效的代码不会对系统的日常运行造成太大影响。由于这个明显的理由,我们往往会倾向于让效率低下的代码通过审查——因为它并没有产生任何真正的伤害,不是吗?
24、没有产品说明书和需求文档地情况下能够进行黑盒测试吗? 参考答案: 这个问题是国内测试工程师经常遇到的问题,根源就是国内软件开发文档管理不规范,对变更的管理方法就更不合理了。...做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试 47、您认为做好测试用例设计工作的关键是什么?...可以这么说,程序员有责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了证明这段代码的行为和我们期望的一致。 集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。...二是这种情况不可能发生,所以不需要修改,这个时候,我可以先尽可能的说出是BUG的依据是什么?如果被用户发现或出了问题,会有什么不良结果?程序员可能会给你很多理由,你可以对他的解释进行反驳。...错误回答 我一直都想在企业界工作。自孩提时代起,我就梦想自己至少也要成为大企业的副总裁。 评论 除了难以令人相信之外,这种回答还存在一个问题:它表明求职者会对副总裁以下的职位不感兴趣。
论JDK源码的重要性:一道面试题引发的无限思考!大家在看到这个标题时想的是什么?小编我为什么要讲这个问题呢? 那我们就看一下这道面试题是什么呢?差不多是这样子的面试题 ?...从结果来看是错误的,不能解决我们的问题。为什么? 在分析之前,我们先介绍一下Java访问对象的方式。...有想过的,看有多少人有往这个方面去想,我们刚刚看到Integer类中存在一个value值变量吗?...很神奇吧,哈哈好,前面这两行代码我们分析完了对吧,好,然后,然后我们把ab的值传进来,我们再来分析swap中的这段代码,好吧,精华部分就是这段代码了啊,这是精华部分,哈哈,我们来看:断点到这句 ?...结果为:false 那么,这个当时我其实又遇到这个坑,被坑惨了是吧。哈哈哈。 那么我们怎么解决最后的问题:(最初的面试问题) 1. ? 2. ? 3.取巧的方式: ? 好啦。到此结束啦!
而再看看这段信息,阅读它我能知道为什么删除这些警告很安全(说明了当前情况很安全的原因),以及如果我在未来更改这段代码时应该要做些什么。我相信,很多组织也会有人这么做。...如果我们讨论的是一个 bug,我就会知道它出现在哪些系统,发生在什么条件下,为什么没有影响到其他的系统,以及我应该做些什么来避免再次犯同样的错误。...再假设,我在以后的所有补丁中都使用了这个方法。 现在我不得不回到第一个补丁添加参数,于是,所有后续的补丁都无法正常使用了。现在我不仅要开动脑筋找出原因,还要手动修正所有的错误。...如果我以前已经测试过某个补丁了,那么现在那个测试已经无效了,我必须重新测试。 重组只是一个小问题。但为现有工作重新建立基线是一个真正的大问题。...我还发现有时大家会争论:“……但对于优秀的程序员来说会没有问题的”或者“但是它迫使你以这种或那种方式思考,优秀的程序员应该这么思考”,这种观点脱离实际毫无用处:上帝,我刚才已经承认了这个方法的所有好处,
,也许你会有这样的疑问。 火柴问题 ? 火柴,这种行将消失的物品。也许现在的小朋友只是在《卖火柴的小女孩》中才得知它的存在。在我小时候,还是时常用到的。...那时,也许是工艺问题,或者存储条件有限,往往一盒火柴好多根都不能点着。记的那时听到的笑话: 小明的妈妈让他去买盒火柴,不一会功夫买回来了。妈妈问:“你试过没有,能点着吗?”...“试过啦”,小明很骄傲的说,“每一根我都试了一遍。” 我把这种问题称为“火柴问题”,往往传统的质量控制面临的都是这类问题,有如下限制: 成本,显然现实中不会有人把所有的火柴拿来测试。...因为预期这是一次性的工作。用测试可以在不同的用例中描述行为的不同侧面。方便维护者理解代码,也避免了,“咦,这个bug我明明测试过呀”的回归错误。 测试明确写出了期望的行为。...□促使开发者思索代码的目的是什么,会怎样被使用。 □自动判断节省了开发者的注意力,更有效的反馈错误,定位错误。
暗示你的问题,而不是直接问 在错误的论坛或网站上提问 写一个模棱两可的帖子标题或电子邮件主题,如“我有一个问题”或“请帮助” 说“我的程序不工作”,但不解释你希望它如何工作 不包括完整的错误信息 不共享您的代码...我假设你在一个在线论坛上询问你的问题,但是这些指导方针也同样适用于你通过电子邮件向一个人请教问题。 通过预先提供信息来限制回复 如果你亲自接近某人,问“我能问你一个问题吗?”...尽管以“我想”开头的句子。或者“代码不起作用”可以暗示你的问题是什么,一定要描述明确的问题:从字面上看,以问号结尾的句子。否则很可能不清楚你在问什么。...解释您希望代码做什么 问题“为什么我的程序不工作?”忽略了你希望你的程序做什么的关键细节。这对你的助手来说并不总是显而易见的,因为他们不知道你的意图是什么。即使你的问题只是“为什么我会遇到这个错误?”...这篇文章的问题很明显:它甚至以“我的问题是”开头。
---- 有了这个免责声明,我就可以公开下面这些我不知道的一些事情,同时也是我需要学习的东西: Unix命令和Bash。我会用ls和cd,至于其它知识嘛,我可以去google。...我也从来没有系统地学习过Bash,所以我只能编写非常简单的(通常是错误的)shell脚本。 低级语言。我知道Assembly允许你将内容存储在内存中并跳转代码,但也仅限于此。...如果我理解的正确的话,这只是意味着“许多API端点相互通信”。 我不知道这种方法的优点或缺点是什么,因为我没有用过它。 Python。...(因为我使用C#,所以可能会接受它。) 算法。没有什么比美好的一天被冒泡排序或者快速排序毁掉更糟糕的事了。 如果它们与特定的实际问题联系在一起,我可以完成简单的图形遍历任务。...我担心这些错误!我知道需要设置一些headers来修复它们,但这总会使我浪费好几个小时。 HTTPS/SSL。永远别想设置它。 除了私钥和公钥,我不知道它是如何工作的。 GraphQL。
领取专属 10元无门槛券
手把手带您无忧上云