FizzBu​​zz-真的吗?[关闭]


60

当涉及“面试测试”问题时,FizzBu​​zz的主题经常浮出水面。也有关于它的编码恐怖帖子。

现在,如果您不愿意阅读此类网站,那么可能不太会发现FizzBu​​zz无关紧要的程序员群体。

但是,确实有99%的程序员会为此奋斗吗?

真?

有什么证据可以证明这一点?

一些现实生活中的例子对于回答这个问题会很有帮助。


57
不是99%的程序员,而是99.5%的申请人(其中许多不是程序员)。
webbiedave

4
直到接受面试,我才相信它-我后来得到了这份工作,后来仍然与首席执行官进行了交谈。显然99%是正确的。Oo
Fishtoaster

3
我一直以为嗡嗡嗡嗡的问题是一个神话,或者仅仅是针对刚开始学习的初学者,但是后来有一天我实际上在一次采访中被问到了。是的,真的有很多候选人对此有麻烦吗?
DarenW

2
我经常在面试时给出FizzBu​​zz测试,并经常使人们不及格。一位平面设计师虽然有一天通过了它.....让我有些惊讶:)
Brandon Wamboldt 2010年

4
@Rogue Coder-嘿,我们并不愚蠢,只是很奇怪。而且我们大多数人都对数学很着迷。
Inaimathi 2010年

Answers:


46

99%?否。有很大百分比吗?是。从我与人面谈的直接经验中,我可以证明这一点。对于您来说,这似乎微不足道,但是编程领域中有很多人或多或少地伪造了多年,并申请了非入门级职位,但没有通过。

即使您可以轻松解决问题,但是您被要求执行这样一项艰巨的任务也会给我带来很大的麻烦。与团队合作意味着有时不得不做一些您可能不喜欢但有必要的事情。如果马上采取行动,那么在我们甚至开始合作之前,您认为最好尝试坚持自己的特殊地位,超越我已要求您做的事情,这将成为反对您的标志。

我并不一定在乎您的解决方案有多优雅(尽管那会很好),但是看到您在白板上刺了一下它,并说了一下通过它的方式,就表明我至少愿意刺它一个。 。如果您感到愤慨,并说出类似“我是一个问题解决者,而不是代码猴子”的话。那么您将被钉住。

我曾经让面试者坦率地拒绝甚至开始尝试它。只是简单地拒绝。不,嗯。不会的。我再问一两个礼貌的问题,感谢他们的宝贵时间,并结束了采访。

我说这是作为经理和开发人员。


1
他们拒绝尝试的理由是什么?
乔恩·霍普金斯

3
我从来没有直接问过他们。在他们第二次拒绝之后,我会再问几个问题,然后结束采访。如果我要去GUESS,那可能是他们太紧张了,无法尝试(如果我是慈善事业),或者实际上他们不能当场弄清楚(如果我更愤世嫉俗)。
托德·威廉姆森

1
我认识一个拒绝面试的人。他还拒绝在谷歌搜索的几秒钟内将任何可以查找的内容保存到内存中。他是一个“问题解决者”。
kirk.burleson

4
再说一次,白板编码是面试官给您的问题……也许需要解决?对我来说,拒绝在面试中编写代码等同于拒绝解决面试官遇到的问题。因此,与“问题解决者”一词矛盾,更像是那个家伙是“问题拒绝者”。
Spoike 2011年

@Spoike nope,因为问题解决者不需要知道任何编程语言的语法,现在可以了吗?
皮埃尔·阿洛德

25

我认为99%申请工作(但没有得到工作)的程序员可能会为此感到挣扎。但并不是有99%的程序员能够高效地工作。

这就是我们现代求职过程的本质。许多申请者不合格。

“编码恐怖”的帖子也说明了我们当今教授计算机科学的方式。在过去(特别是在麻省理工学院),您需要学习Lisp之类的东西,这几乎需要您掌握递归之类的概念。

如今,人们开始学习Java,因为Java在工业中得到了广泛的使用,并且重点已转移到语法而不是深入的编程思想上。我不喜欢Java。实际上,我认为这是一种理想的第一语言。但是我还没有看到我的教练用它来教深层编程原理。


11
是的,我认为我们的教育系统(至少在美国)是其中很大一部分。我知道有人获得了软件编程2年学位,以优异的成绩毕业,并且不会读写代码。
雷切尔

8
反对教授Java的论点很弱。可以使用大多数语言来教授概念(例如,可以很容易地用Java编写回响)。我不同意所讲授的概念的教学能力越来越弱,但我不会将其任意归咎于实现语言。
史蒂文·埃弗斯

1
哦,像递归这样的东西会被教,但它们只是不习惯。编写100行IF语句的等级与编写递归函数的等级相同(至少是我去过的地方),而100行IF语句在匆忙时更容易编写(即, '跳过作业直到5分钟才需要上交)
Rachel

1
@SnOrfus:我也不将其归咎于Java。我没有反对讲授Java。是的,您可以用Java讲授这些概念,但是我还没有看到这种情况发生,也没有出现在我上过的Java类中。就是说,麻省理工学院最初是为他们的入门编程类选择Scheme的,因为它具有非常简单的语法,因此您可以尽早开始考虑编程概念,而不必过多地关注语言语法。
罗伯特·哈维

4
到底是谁去了大学,在那里他们“教Java”。编程语言学校没有什么用(无论它是Java,C ++,Lisp还是其他任何语言);那是你在美国拥有的吗?在学习CS的地方,您或多或少地根据需要自学了编语言(我想这是Paradigms类的例外)。大学课程教授数学,CS理论,多种编程范例,微积分等。从中毕业的任何人都可以轻松解决FizzBu​​zz,因为我们只有通过课程才能解决更棘手的问题。
Andres F.

20

我讨厌这样说,但是

我看到编程问题未能得到解答的主要原因是提问者而不是回答者的问题。

我可以清楚地记得在一次采访中,有人问我如何创建一种可以在恒定时间内运行的特定集合搜索算法(无论集合中有多少项,查找次数都相同)。在放弃之前,我摸索了20分钟。那时,这位才华横溢的采访开始证明答案是在几乎恒定的时间内运行的,但仍不是恒定的时间。有点像说“给我一个零的答案”,然后接受0.1。

简而言之,我见过太多的情况,有人在面试时提出的问题不符合以下条件:

  1. 他们知道所有可能的正确答案。
  2. 他们知道为什么正确答案是正确的。
  3. 他们知道如何在不给出答案的情况下实际提供足够的信息。
  4. “解决问题”问题并不依赖于未公开事实的知识(这是我所见过的最大问题)。
  5. 如果您不必弄清楚答案,则只需不到1分钟即可写下答案。如果只花5分钟就能输入代码,那实际上需要比面试的口头部分更多的解决问题的能力。
  6. 问题不仅仅是基于“我曾经遇到过一个问题,或者是我在学校遇到的一个问题,所以您应该现在就知道如何解决它”。我敢打赌,您有超过2分钟的时间回答,为什么您不给候选人同样的礼貌。

认真地说(1),我认为要求人们在面试的口头部分编写代码是愚蠢的。

认真地讲(2),我认为在不要求他们编写代码的情况下采访人们也是愚蠢的。

认真地(3),您应该给他们“作业”,要求他们带上代码示例,或者给他们笔记本电脑和几个问题以及安静的办公室来处理它们。然后,当他们在处理它们时,不要理会它们。我通常采用后一种方法,因为它限制了他们获得外界帮助(作弊)的能力,因此我可以设定时间。


您是否与面试官进行了讨论,解释了为什么他们的解决方案不是固定时间的?如果我是面试官,并且您能够简洁而没有恶意说服我,我错了,我会当场雇用您。
米(Nemi)2010年

1
@Nemi-是的,我做到了。所讨论的人不是具有聘用权的人,但我确实得到了该职位的要约。
MIA 2010年

8
int? result; for (int i = 0; i < int.MaxValue; i++) { T item = (i < array.Length) ? array[i] : someDummyItem; if (item == whatWereLookingFor) result = i; } return result;-恒定时间:)
配置器

如果有错,请纠正我,但是我认为哈希表的访问时间是恒定的,前提是哈希表正确完成并且没有冲突。因此,应该可以在恒定时间内使用哈希函数进行搜索。
Trylks 2014年

哈希可能会发生冲突。这就是其通常表示为摊销固定时间的原因。
钻机2014年

10

您需要做的就是在FizzBu​​zz上搜索。上有大量的博客文章。一般来说,博客作者说:“我告诉人们用[某种语言]编写它,这是他们犯的各种错误:”然后列出了一些陷阱。有趣的地方始于注释,人们说“哈!这在[某种其他语言]中是微不足道的,您所要做的就是:”,然后是代码。下一条评论总是会发现第一个错误。似乎有些优秀的开发人员第一次用任何语言都无法做到这一点。一些错误:

  • 我要求1到100,而您则选择1到99或0到99
  • 弄乱是否要打印数字以及嘶嘶声和/或嗡嗡声
  • 关于“ fizzbuzz”与“ fizz-buzz”的分歧
  • 错过了优化,例如两次比较一次
  • 还有更多

在招聘时,我要求人们在白板上为我编码,没有什么比这复杂的了(我知道,您并不认为这很复杂),而且许多应聘者完全失败了。我的意思是喜欢写vb样式的If,Then,End If,但是也要放括号(我想只是为了安全起见)或编写C#(首先问C#?),但在任何地方都没有半角冒号。不要从逻辑错误着手!


2
@Jeff大多数开发人员首先会编写无法编译的内容。好的浏览器可以修复简单的语法错误。强调好的或冷静的程序员可以编写一个函数,但不要编写任何代码来调用它,不要编写未经超级优化的东西,不被(不发现)一个接一个地出错,或者可能错过一两个语法错误。可怕的程序员编写的代码几乎无法编译,做完全错误的事情,等等。例如,循环到3或5,因为它们在问题中,而不是循环到99或100或101(ish)。甚至没有代码。在看到它之前,您真的无法相信。
凯特·格雷戈里

7
如果{“如果{}然后{} EndIf”完全失败,那么} {您的面试方式是有缺陷的,并且/或者您很幸运能够如此琐碎地解雇候选人} EndIf
Sparr

7
我每月至少使用十二种语言进行编程。让我坐在电脑前,让我工作一个月没有碰过的东西,而当我回到凹槽中时,我会在前五分钟内犯下这样的错误,通常会指出我的错误由编译器或解释器输出。
Sparr

2
@Sparr-当然。因此,如果我要您翻阅白板,您可能会发现它并说:“糟糕-我使用很多语言。” 如果您不这样做,我会说“您用哪种语言写的?” 然后你会的。这不是一个技巧问题或陷阱。有些人实际上从未编写过代码,并声称自己拥有。这就是这样的问题的重点。
凯特·格雷戈里

2
但是我认为这些问题对此不利。在此注释线程开始前五分钟,我无法告诉您VB是否需要在代码块周围加花括号。我可以告诉您,If / Then / EndIf看起来基本上像VB [.Net]。我每三个月用VB编写代码大约两小时(rentacoder.com的任务,我从不从事真正的VB工作,我讨厌它)。
Sparr 2010年

10

我读过您提到的《编码恐惧》一文,我的看法是Jeff是对的……但是他最后一次接受采访是什么时候?

面试时,通常压力很大,常常需要回答一些理论上的问题(没有才智,没有Google,没有讨人喜欢的东西,……只是压力引起的记忆困扰)。在测试中也是如此。压力对您没有帮助。

我注意到,知道某人是否适合这个职位的唯一方法是与他一起工作一段时间...从100名(可能更多)中雇用的最后10名员工中,有多少才是真正的好人聘请???

雇主应聘用问题解决者,而不是了解模数的代码猴子。

您无法“暂时测试所有申请人”,因此需要对他们进行面试。这就是为什么我将我的问题集中于此(解决问题)并进行过去的参考检查的原因。

我的观点是,FizzBu​​zz对于正在寻找开发商以维持其增长的公司来说是危险的。


28
恕我直言,这里的问题是FizzBu​​zz是一个低级问题,如果您甚至在压力下也无法回答问题,那么如果您称自己为“程序员”,那么您应该让人们在您的面前大笑。如果它稍微复杂一些,例如“实施冒泡排序”,那么这些借口和顾虑将是合理的,但对于FizzBu​​zz而言则不然。
dsimcha

23
Fizzbuzz擅长于它的用途:过滤那些对某事一无所知的人。并且仅仅知道一些事情仍然不足以完成这项工作。这不是招聘决策测试,而是“您要在面试中浪费我的时间”测试。一些招聘经理试图使fizzbuzz过于复杂,以至于无法为他们做好工作。
史蒂文·埃弗斯

31
天哪,模不是某种深奥的运算符。这是所有开发人员要称呼自己为专业程序员的必经之路。无论如何,如果有人可以编写FizzBu​​zz,并不意味着您雇用了他们。这只是查看该人员是否可以尝试完成任务所需的控制流程的快速起点。
webbiedave

12
我认为FizzBu​​zz很有用,仅仅是因为它是如此的琐碎。它需要一个for循环,两个if语句,取模和打印。任何具有任何有意义的编程经验的人都应该能够在几乎没有思想的情况下就将其发挥出来。如果有人在面试中为此感到挣扎,我认为这是一个完全有效的石蕊试纸。
亚当·克罗斯兰

11
@snorfus:归类于“其他人的问题”。我宁愿想念一个糟糕透顶的社交焦虑的优秀开发人员,也不愿浪费宝贵的时间和金钱训练,以及等待那些没有编程能力的人的成果。不能与其他人打交道吗?见治疗师。
亚罗诺(Aaronaught)2010年

10

最近,我受命采访了50多位程序员担任高级职位,他们将主要使用PHP。

我在筛查考试中扔了fizzbuzz问题,主要是为了娱乐自己,因为我想要10个好问题,而只有9个。当时,我的目的是向人们表明,即使是面试问题,我们也可以从中获得乐趣。

80%的申请人解决了问题,但未使用模数运算符。

15%的申请人无法解决问题。

5%的申请人使用模运算符解决了该问题。

尽管我的抽样调查非常有限(来自一个国家的50名申请人),但我可以告诉您:

他们中有95%的人拥有CS或更高的CS课程(这里的大学通过努力使CS的声音更加壮观来进行竞争)。

我真的很惊讶。好吧,吓坏了..但是很惊讶。我不认为我会接近重现结果,因为该问题已变得如此普遍。这表明我有5%的申请人可能不是超级程序员,但至少他们阅读了与编程相关的博客。


我本以为使用模块化运算符是最明显的,我很惊讶成功解决问题的95%的人使用了其他工具。也许是因为他们是新毕业的学生,​​数学才是自学的吗?
jmoreno 2014年

我从未在任何课程中学习模运算符。如果我没有实习或花时间为开源项目做贡献,那么我进入行业之前就永远不会学到它。另外,在我的一门计算机科学入门课程中,我被告知三元运算符是不好的编码实践,因为它太混乱且难以阅读。
罗伯特·弗雷泽

他们用什么代替了余数运算符?x - (x/y)*y
CodesInChaos 2014年

9

在上一轮招聘中,我有3名建筑工人,其中0,我重复0,编程教育或经验应聘软件开发人员职位。* 这就是桶的底部。如果您假设技能呈正态分布,那么您可以看到平均技能水平将如何降低,甚至“高于平均水平”(在申请人中间)仍然相对较差。

现在,如果您仅对那些似乎具有某种编程能力的申请人进行嗡嗡嗡嗡声,您会发现您现在拥有:

  1. 骗子
  2. 流行语爱好者(我曾经读过一篇有关.NET的文章)
  3. 糟糕的实际程序员
  4. 使用一项技术完成了一个项目但没有了解它的人(请参阅有关idisposable的fizzbuzz问题以识别这些问题)

另外,我看到的一些“ fizzbuzz”问题是特定于域的。您可以使用一种语言/框架x进行逐步开发多年(因此z已有x年的工作经验),而不必涉及其中的某些部分(例如,库开发人员对UI组件开发了解不多)。

同样,如今,许多开发人员都进行维护开发,因此他们的架构/设计技能在某些方面可能很弱。

现在,我不确定99%是否正确,但IME仍然很高。至少在80%的范围内。

*不,我们没有致电,甚至没有再看这些应用程序。


3
我们遇到了类似的情况,但是由于我们与客户的合同规定我们将有4个全职开发人员分配给该项目,并且该项目基本上已经完成,因此,这名垂头丧气的家伙开始学习用这3个客户的美元来编程合同还剩几周。
Tangurena

我还看到类似的情况发生在某些政府福利计划/失业保险要求领取福利的人每周申请一定数量的工作时。即使这些程序有某种名义上的要求,即接收者必须对其实际胜任的职位进行申请,但用于评估其胜任的职位并强制执行“求职”要求中特定部分的资源却非常有限。 。
丹尼尔·马丁

8

对真的。可能不是99%,但仍然很高。我曾经采访过计算机科学专业的学生,​​以进行实习和全职工作。我会在一所大学采访约25名学生。我们被告知不要问同样的问题,因为学生们在说话。我很快就知道这没关系,因为在25个可以回答我的第一个问题的学生中,我只会得到3或4个学生。“写strcmp”

我要求他们编写一个比较两个字符串的函数。也许使用该功能对字典中的单词进行排序。您会惊讶于不懂如何比较两个单词的学生人数,更不用说知道如何编写函数了。其中一些学生声称他们在CSc中获得了全部A。

编程是非常困难的事情。许多人喜欢认为他们知道如何编程,但是他们不知道。


3
等级通胀很糟糕,浪费了每个人的时间!
DarenW,2010年

8

一些想法:

  • 如果他们的程序有一些错误,但我显然不会反对,但是他们显然有正确的想法。调试是编程的一部分。

  • 我感到可悲的是,如此多的人正在申请他们不知道自己做不到的工作。在我看来就像经济问题。

  • 向人们提出不好的问题确实很容易,唯一的“正确”答案就是面试官会给出的答案。


2
关于第二点……花了很多时间考虑我的下一个职业发展,学习各种行业以及寻找工作,这是试图评估我自己在许多不同方面的能力水平的主要困难。显然,这对于(几乎)每个人来说都是一个大问题。
DarenW,2010年

@DarenW:你有我的同情。我认为了解自己喜欢的东西并从那里开始工作很重要。我个人一直很喜欢学校,从不怀疑我对工程的兴趣。我的同胞几乎都知道自己在做什么。一个不是,而且很容易看出这是一场斗争。您的主页表明您对科学和艺术的交汇感兴趣-太好了。有些人在青年时期经历过糟糕的经历,现在可以耗尽所有精力。
Mike Dunlavey 2010年

7

该测试很好地涵盖了我想了解的有关可能雇用的程序员的几件事:

  1. 你甚至可以编程吗?
  2. 您可以从头开始编写程序吗(因为不是每个人都可以!!!)
  3. 你能解决问题,而不超过 -thinking它。

为了详细说明最后一点,对于嘶嘶声有很多解决方案。您是否追求可读性?速度?轻浮?您是否尝试快速完成程序编写?程序员如何解决这个简单的问题非常有说服力。如果程序员不能选择一种解决方案并将其彻底解决,那么这将告诉您这个人在实际任务中的表现如何?


6

不幸的是,许多简历令人印象深刻的人的确似乎缺乏基本的编程技能。我已经看到很多情况,在简历中列出C和C ++的人无法回答有关指针的基本问题。


3

我希望FizzBu​​zz有两种类型的人可以帮助我避免。

  1. 没有编程知识或没有相关编程知识的机会。通常,您可以从简历中识别出这些信息,但并非总是如此,并且给他们简单的编程任务是一种很好的方式,可以清楚地表明它们不是程序员。
  2. Java学校的毕业生,已经完成了编程课程或学位,但实际上并不知道如何编程。这些人可能很难被过滤掉,因为他们可以谈论理论,但他们没有实践技能。在他们面前摆一个简单的问题,并寻求解决方案和解决方案的解释,这是了解Petra Java和Paula Bean之间区别的一种很好的方法。

无论哪种情况,我都不在乎完美的实现。您需要对申请开发人员的人员进行的测试是,他们完全可以编程。

就是说,由于某些原因,我可能不会为那个特定的测试而烦恼。首先,它是众所周知的,并且以上任何一个小组都将很快尝试它。其次,我更喜欢使用Steve Yegge的电话屏幕问题来筛选非程序员,然后再带他们进入。如果有人认识到这些问题,那意味着他们已经阅读了Steve Yegge的博客,这对我来说意味着他们在认真对待自己的职业并肯定需要接受采访的前1%的开发人员。同样,如果有人在这里或其他方面有不错的代表,我将倾向于采访他们。


A)“好”有多好?B)您正在招聘吗?:)
Sparr 2010年

3

很难相信开发人员无法编写FizzBu​​zz的代码,直到您看到“九牛一毛”才能将其工作复制并粘贴到一起,并自觉地不编写代码。当我听到一位资深的开发人员教了一位具有3年“经验”的C#开发人员如何使用字典的消息时,我简直不敢相信。接口?设计模式?标准输出?亚尼?我的领导从未听说过YAGNI!这些人不知道的东西真是令人惊讶。

我现在相信了。我还认为太多的开发人员仅能完成足够的工作。


3

我认为这是一个如此受欢迎的问题的部分原因是,答案的答案不只一种,而且根据候选人选择的方式,可以为您提供有关其编码方式的见解。如果您在Stack Overflow上有10K代表,可以在这里看到一些很好的例子。

至于99%的统计数据,请检查该数字的来源。这可能是有偏见的。如果它是基于入门级程序员为他们的第一份工作进行面试的,那么是的,我可以看到这是可能的,尤其是如果他们的大多数候选人都直接从大学毕业。我实际上可以想到有人可能会写出if条件作为该问题的解决方案的100条件。


3
我怀疑这个数字有99%指向了以下事实的事实(即递归事实,不少),即所有统计数据中的87%是当场构成的。
亚当·克罗斯兰

1
@亚当·克罗斯兰(Adam Crossland):有关统计数据的100%也是当场构成的。
Macha 2010年

不过,有人无法解决大学毕业时的嘶嘶声似乎令人恐惧。如果他们做不到,该怎么办?
Morgan Herlocker 2011年

2
@ironcode我和一个什至无法理解fizzbuzz的人一起上学...如果他们能写出用硬编码的fizzbuzz值打印出100行的内容,我会感到惊讶。他们以优异的成绩毕业。
Rachel

2

我发现有这样一种说法:99%的程序员无法编程或解决简单的编码测试都被夸大了。在FizzBu​​zz测试的情况下,您可能以前曾遇到过此问题并可以通过取模运算符轻松地解决它,或者您以前从未遇到过此问题并会为此而苦苦挣扎。它不会告诉面试官您的编程技能。

我认为许多程序员的问题显然在面试中留下不好的印象是技术面试方法的本质。面试官希望申请人记住并立即复制语言语法,数据结构,硬件体系结构,设计模式等的详细信息和计算复杂性。计算机科学/软件工程领域广阔。试图记住一切都是不可能且不明智的。

在现实世界中,关键是能够理解分配给您的编程/设计问题,并知道从何处查找信息(您的IDE,手册页,书籍,google等)如何解决您的问题。但是,这是面试官从未测试过的东西。


14
您知道FizzBu​​zz有多容易吗?您不需要遇到它。如果您挣扎,那就考虑换个职业。
约翰·史密斯

但是可以通过使用除法来求模而不求模。使用/代替%的正确解决方案将对我有用。因此,他们需要了解非常基础的数学和非常基础的编程。
Almo 2014年

0

我仍然是一个比较初级的程序员(我已经花了大约2年的时间编写代码,并且在此之前以某种专业的身份作为大约2人的副责任进行编码),所以请使用足够的盐。

我在为大型企业项目的编码员做初稿时有一定的经验(我们有点知道该项目注定要失败,但是,他们还是想付钱)。作为该公司唯一的招聘程序员,我承担了审查简历和筛选申请人的任务。

这是一个政府项目,所以它也许可能没有吸引最有才华的申请者,但我没有从一个GitHub的帐户的任何人,实际上已经表明代码收到一个应用程序,也没有任何人谁了投资组合,所以我用fizzbuzz(从字面上看是确切的问题),这是对任何看起来可能会编程的人的第一遍。

我以伪道歉为开头,说我知道这很愚蠢,但我只想查看任何有效的代码,如果他们希望他们可以发送另一个具有相同或更大价值的示例,或者实际上是任何东西,但这些嗡嗡声就足够了。

结果是:我没有收到一个真正正确的答案,考虑到互联网上答案的数量,这令人震惊。没有人甚至不愿抄袭。我们只需要雇用以前在项目失败的先前迭代中工作过的人员。

在最初的震惊和对政府软件/合同的混乱程度感到失望之后,我对自己的技能感觉好多了,那么小的胜利呢?

编辑:不正确,我不是说出现一次性错误(即我要求通过100而不是99)或其他一些无害的错误,这很容易解决。我的意思是没有功能,或者不会运行/编译/等,或者清楚地表明问题只是未被阅读和理解,而且很大一部分撤回了应用程序,而没有人发送其他代码。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.