一位采访者称我“ Genrics不完全是Genrics ”,
他提供了示例(参数int k,int d不是通用的)
public static void PrintThis<T>(T a, T b, T c, int k,int d)
{
}
他问我,如果我证明它仍然是泛型,我将被允许接受下一轮。 我不知道他对我的期望是什么,以及通过展示这样的榜样他的真正含义。
指导我如何巧妙地面对如此奇怪的采访?
提前致谢。
答案 0 :(得分:23)
答案 1 :(得分:13)
day ...做梦......在......电脑......
“你有没有问他这个问题?”
“是”
“他告诉你这是BS吗?”
“否”
“您是否在StackOverflow上找到了他,询问如何回答这个问题?”
“是”
“很好,现在我们知道了。在这里找到下一个人”
“Bwah ......哈......哈......”重复......
答案 2 :(得分:11)
k
和d
始终为int
的事实并不会使该方法不那么通用,只是意味着这些参数总是int
,而不管类型a
,b
&amp; c
。
答案 3 :(得分:4)
假设面试问题是真实的,我用谷歌搜索“泛型不是”+ c#,并得到了这些:
我根本没有匹配“泛型不完全通用”或“泛型并不总是通用”。
那么。玩得开心。
答案 4 :(得分:3)
所有泛型都是参数化类型。我不知道你的面试官会得到什么。他是否声称该方法不是完全通用的,因为并非所有方法参数都具有泛型类型?
您不需要对所有参数使用相同的参数类型,也不要求所有参数类型都是通用的。
答案 5 :(得分:3)
也许他的意思是a
,b
和c
必须属于同一类型,但那是愚蠢的。
答案 6 :(得分:2)
就我而言,这是一种通用方法,因为它有一个类型参数。并非所有参数都属于通用类型并不重要。
答案 7 :(得分:2)
他问我,如果我证明它仍然是泛型,我将被允许接受下一轮。我不知道他对我的期望是什么,以及通过展示这样的榜样他的真正含义。
听起来这位采访者正在寻找这里给出的答案 - 如果你的问题的措辞能够捕捉到他的意图,那么他并不认为仿制药不是通用的,他会问你是否可以聪明地讨论这个问题的“通用性”。指定的方法。
正如其他几个人所指出的那样,这是一种通用方法,因为它允许用户稍后指定函数的可见属性(在这种情况下,前3个参数的类型)。 k和d是非通用参数的事实似乎只是一个红色的鲱鱼。
能够说明答案会或多或少地证明你没有“泛型”意味着什么的偏斜概念 - 在这种情况下,是泛型函数的调用时特化。
答案 8 :(得分:1)
假设你的面试官知道他的东西,这就是面试官要求你做以下事情的那种问题:
一位优秀的面试官会取得这三位成绩,而不那么优秀的面试官可能只是在寻找方法试图让你陷入困境,因为他被要求采访过多的候选人。
在一天结束时,如果你不知道答案或理解这个问题,你最好在面试中这么说,如果你不同意陈述,那就把它看作是一个放松的机会。参与讨论而不是简单地在面试中回答问题。
对于它的价值,答案是所描述的方法是一种通用方法,无论某些参数是否属于固定类型。证明在声明本身中,通用语法有效地指示编译器允许泛型参数。
答案 9 :(得分:0)
我曾经接受过一次采访,其中测试问题是“winform的默认保证金大小是多少”。我回答“我不知道也不关心,因为我可以在构造函数中设置我想要的任何值”
在采访结束时,采访者告诉我,这个问题是一个诀窍,可以看出谁会猜到谁以及当他们不知道什么时会诚实。
答案 10 :(得分:0)
从字面上理解问题:
答案 11 :(得分:0)
PrintThis("a","b", "c", int k,int d) // to specify <T> as string.
仅在编译时才会执行此操作。所以指定的3个参数只是同一类型。
PrintThis<string> ("a","b", "c", int k,int d) // explicitly specifying the type when you call the method.
所以我们只是指明它是强类型的。
答案 12 :(得分:0)
我宁愿有兴趣知道他问过的问题或者你在问这个问题之前给出的答案!!!。
一般来说,如果受访者在某个主题中表现出不适,或者给出一些不稳定的答案,那么这些(怪异/模糊)问题会被面试官解雇。这迫使面试官通过交叉询问或询问令人惊讶的事情来让受访者失望。