有个公司的老总托我帮他找一些.net高手来加盟他们公司,于是疯狂的在51job上发出应聘要求。相应的人络绎不绝,可是水平却参差不齐,为了很好的展示他们的技术能力、团队协作素质等,我出了一套高级程序员的试题,在这里展示给那些需要招.net程序员的公司(鉴于我以前去微软面试的经验而模仿 ,和微软的题目类型相似)
题目如下:
** 高级程序员面试题目 **
** 英文题目 ( 可以用中文回答 ) **
1) Please describe the different between XML,XSD,XSL through their definition.
2) Do you know the Persistent Object in J2EE;if yes ,please describe some mechanism of it.
3) Please describe some famous encryption arithmetic as many as you know, one of arithmatics to explain if possible.
智力逻辑题
1 .某一密码仅使用 K 、 L 、 M 、 N 、 O 共 5 个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:
(1) 密码单词的最小长度是两个字母,可以相同,也可以不同
(2) K 不可能是单词的第一个字母
(3) 如果 L 出现,则出现次数不止一次
(4) M 不能使最后一个也不能是倒数第二个字母
(5) K 出现,则 N 就一定出现
(6) O 如果是最后一个字母,则 L 一定出现
问题一:下列哪一个字母可以放在 LO 中的 O 后面,形成一个 3 个字母的密码单词?
A) K B)L C) M D) N
问题二:如果能得到的字母是 K 、 L 、 M ,那么能够形成的两个字母长的密码单词的总数是多少?
A)1 个 B)3 个 C)6 个 D ) 9 个
问题三:下列哪一个是单词密码?
A) KLLN B) LOML C) MLLO D)NMKO
问题四: 3 个相同的字母可以构成的不同密码单词的总数是多少?
A) 1 个 B)2 个 C) 3 个 D) 4 个
问题五:单词密码 MMLLOKN 可以通过下列变成另一个密码单词,除了:
A) 用 N 代替每个 L B) 用 O 代替每一个 M C) 用 O 代替 D) 把 O 移到 N 的左边
2 . 62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?
技术编程题
1) 请用 VB (或者 c# )语言来描述一下 blowfish 的加密解密算法。如果不行,可以用中文 + 图的形式来说明。如果不了解 blowfish 算法,请描述一下自己比较熟悉的加密解密算法。
2) 如果你是一位软件架构师,您将如何去搭建一个符合 n-tie 的架构?并请描述一下您搭建的每一层的作用。(注意:请您考虑项目中有 WebService 的情况)
3) 请用代码简单描述一下 Singleton 、抽象工厂、 Bridge 、 Composite (任选三个)的设计模式的概念。
情景分析题
假如你是一位测试工程师,你的好朋友是一位软件工程师,你们都在同一部门里。一次,你发现了一个重大的 bug ,该 bug 已经对公司的产品产生致命的影响。如果你及时报告了你的上司,会受到嘉奖,也许会提拔成为经理,然而如果你这么做了,你将损失一位挚友,因为他要被老板辞退。相反,如果你帮你朋友隐瞒了 bug ,那么公司的产品有很大的安全隐患,若被人攻击,那么公司的损失很大,将对不起器重自己的公司和老板,这时你该怎么做?
答案: B A C B C ( 智力题 )