Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
7年前关闭。
招聘人员以书面形式向我询问了此问题,上一个问题与字符串相关,而上一个问题与控制反转有关:
您将如何找到数组中第二大的元素?
作为一个拥有自我教学/学习JAVA的项目经理,我的回答是:
数组的定义大小是多少(整数?解析为:字符串/对象?)?冒泡排序,然后返回倒数第二个索引。临时存储最大和第二至第二大变量,对数组进行排序,替换适当的变量,然后返回第二大变量。有很多方法,但是开发适当的功能并不昂贵,需要更多信息。如果范围很宽,请使用几种精益方法,测量阵列长度,然后在阵列上应用适当的方法。
这是对问题的有效回答吗?如果不是,您认为需要改进什么?我之所以这样问,是因为在一般的招聘环境中存在着极大的差距,并且很难理解类似结构化问题的实际预期目的,并且需要您的反馈来理解如何/如何处理/答复。
UPDATE我收到通知,他们通常会看到代码,但没有提供参数或准则,并对此进行了回复:
我无法提供一个明确的答案,至少至少不了解这两条信息。第一种方法允许解析,因为数字是通用排序的,而字符串,对象和其他对象则是主观地解析的。第二部分涉及数组长度及其是否是静态的,因此绝对不适合开发人员,因为昂贵的代码(无论是面对用户的计算时间,还是客户端的硬件成本)都可能很昂贵。该问题措辞不佳,无法提供确切的技术答复,尤其是考虑到它是书面形式,没有反馈时,尤其如此。我只是将自己的想法作为答复输入,就像亲自询问一样。我从前面的问题中得到的上下文是,他们正在寻找了解IoC惯例(项目3)并在潜在的交易(尝试/捕获)情况下分析字符串(给定项目2)(项目4)的人,然后查找(当前问题)。如果问卷的目的是看我如何解决问题,那么我的回答是有效的。如果他们想进一步澄清,我很乐意接受,但是如果他们需要一个明确的答案并且不愿意提供必要的背景信息,那么我不愿意与他们合作,因为这将凸显出人们对与之互动的误解外部客户,当提出一个“简单”问题时,他们确实需要指导,但还需要其他信息来最好地适应,这是任何寻求外部专业帮助的企业背后的重要原因。我希望这个回应不要刻板,因为我大声答复时的节奏恰恰相反,因为需要进一步的信息,包括如果我在JS方面很熟练,那么JAVA的独家开发是否在这项工作的范围内和Python,而且昨天没有讨论。希望您和您的客户可以理解,使用招聘者方法,抽象层可以在许多领域中受益,但是在这种情况下,如果没有直接的沟通和反馈,抽象层可能会阻碍和模糊感知。除了我的回答,请随时提供此信息。
并获得了此回复的好评。感谢您的帮助,因为我确实在尝试从事编程工作,但是没有任何正式的经验,因此本指南确实有用。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
7年前关闭。
招聘人员以书面形式向我询问了此问题,上一个问题与字符串相关,而上一个问题与控制反转有关:
您将如何找到数组中第二大的元素?
作为一个拥有自我教学/学习JAVA的项目经理,我的回答是:
数组的定义大小是多少(整数?解析为:字符串/对象?)?冒泡排序,然后返回倒数第二个索引。临时存储最大和第二至第二大变量,对数组进行排序,替换适当的变量,然后返回第二大变量。有很多方法,但是开发适当的功能并不昂贵,需要更多信息。如果范围很宽,请使用几种精益方法,测量阵列长度,然后在阵列上应用适当的方法。
这是对问题的有效回答吗?如果不是,您认为需要改进什么?我之所以这样问,是因为在一般的招聘环境中存在着极大的差距,并且很难理解类似结构化问题的实际预期目的,并且需要您的反馈来理解如何/如何处理/答复。
UPDATE我收到通知,他们通常会看到代码,但没有提供参数或准则,并对此进行了回复:
我无法提供一个明确的答案,至少至少不了解这两条信息。第一种方法允许解析,因为数字是通用排序的,而字符串,对象和其他对象则是主观地解析的。第二部分涉及数组长度及其是否是静态的,因此绝对不适合开发人员,因为昂贵的代码(无论是面对用户的计算时间,还是客户端的硬件成本)都可能很昂贵。该问题措辞不佳,无法提供确切的技术答复,尤其是考虑到它是书面形式,没有反馈时,尤其如此。我只是将自己的想法作为答复输入,就像亲自询问一样。我从前面的问题中得到的上下文是,他们正在寻找了解IoC惯例(项目3)并在潜在的交易(尝试/捕获)情况下分析字符串(给定项目2)(项目4)的人,然后查找(当前问题)。如果问卷的目的是看我如何解决问题,那么我的回答是有效的。如果他们想进一步澄清,我很乐意接受,但是如果他们需要一个明确的答案并且不愿意提供必要的背景信息,那么我不愿意与他们合作,因为这将凸显出人们对与之互动的误解外部客户,当提出一个“简单”问题时,他们确实需要指导,但还需要其他信息来最好地适应,这是任何寻求外部专业帮助的企业背后的重要原因。我希望这个回应不要刻板,因为我大声答复时的节奏恰恰相反,因为需要进一步的信息,包括如果我在JS方面很熟练,那么JAVA的独家开发是否在这项工作的范围内和Python,而且昨天没有讨论。希望您和您的客户可以理解,使用招聘者方法,抽象层可以在许多领域中受益,但是在这种情况下,如果没有直接的沟通和反馈,抽象层可能会阻碍和模糊感知。除了我的回答,请随时提供此信息。
并获得了此回复的好评。感谢您的帮助,因为我确实在尝试从事编程工作,但是没有任何正式的经验,因此本指南确实有用。
最佳答案
在这种情况下,我认为面试官真的想知道以便找到第二大元素,是否必须对整个数组进行排序(并选择第二个元素)还是有更好的方法?
答案是您不必对整个数组进行排序即可找到前k个元素。排序将花费O(nlogn)时间,而查找前k个项目将仅花费O(nlogk)。
您可以使用简单的示例解释答案。如果您必须在100张卡中找到第二大卡,编号范围从低到高。卡未排序。要找到第二大的卡,您所要做的就是握住您到目前为止已经看到的前2张卡。挑选新卡片时,请查看卡片是否大于手中的卡片,如果是,则用手中的最小卡片替换新的最大卡片。在此过程结束时,您最终将持有前2张牌。
编辑:像其他人说的那样,冒泡排序的运行时O(n ^ 2)最差。有趣的是,查看奥巴马总统对面试问题的回答。 http://www.youtube.com/watch?v=k4RRi_ntQc8
关于java - 此Java对工作问卷的答复有效吗? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11229802/
10-10 04:13