首页 》职业素养课 > 企业面试 >

IT工程师经典面试题6道

发表日期:2019年09月25日 文章编辑:IT实战

6个经典程序员面试题:
1.在一个两维平面上有三个不在一条直线上的点。请问能够作出几条与这些点距离相同的线?
答案:三条。将两点之间联成一条线段。在这条线段与第三点之间正中的位置,做一条与此线段平行的直线,即为一条距三点等距的线。然后按此方法对其余两点的组合做出另外两条来。
应聘职位:软件工程师
2.2的64次方是多少?
答案:如果你不是因为坐在面试室里,手边没有计算器的话,应该可以很容易找到答案,即1.84467441 乘以10的19次方。
应聘职位:软件工程
3.假设你在衣橱里挂满衬衫,很难从中挑出某一件来。请问你打算怎样整理一下,使得它们容易挑选?
答案:此题没有固定答案。考验的是被面试者在解决问题方面的想象力和创造性。我们觉得读者”Dude”的这个答案可能会给Google留下深刻印象:把它们按布料的种类进行哈希(HASH)组合。然后每类再按2-3-4树或红黑树(都是计算机算法)排序。
应聘职位:软件工程师
4.给你一副井字棋(Tic Tac Toe)。。。你来写一个程序,以整个游戏和一个玩家的名字为参数。此函数需返回游戏结果,即此玩家是否赢了。首先你要决定使用哪种数据结构处理游戏。你 还要先讲出使用哪种算法,然后写出代码。注意:这个游戏中的某些格子里可能是空的。你的数据结构需要考虑到这个条件。
答案:所需要的数据结构应为二元字符数列。调用此函数检查6种条件,判断是否有赢家。其中第6种条件就是看是否还有空格。如果有赢家,则字符判断玩家是X还是O。因此你需要一个旗标。如果有赢家则返回此值并结束游戏,如果没有则继续游戏。
应聘职位:软件工程师
5.为1万亿个数排序需要多长时间?请说出一个靠谱的估计。
答案:这又是一个没有标准答案的题目。目的是考察被面试者的创造性。我们倾向于两位读者给出的简单答案:用归并排序法(Merge Sort)排序。平均情况下为O(1,000,000,000,000 Log 1,000,000,000,000)。最差情况下为O(1,000,000,000,000 Log 1,000,000,000,000)。现在可以做到每秒10亿次的运算,所以大约应需要3000秒。
应聘职位:软件工程师
6.请设计一个“蛙跳”游戏的算法,并写出方案的代码。。。
答案:这个游戏的目标是引导一个青蛙避开来往车辆,横穿一条繁忙的公路。你可以用一个数列来代表一条车道。将方案简化成一条N车道的公路。我们只找到 一个对此问题的解答,它来自Glassdoor.com网站:“一个方法是写一个递归算法来决定何时等待,何时跳进下一个车道。这由下条车道中是否有逐渐 接近的障碍物来决定。”
 
相关新闻

济南华育学员:没有华育就没有我们的今天!

济南华育快讯:近日,刚刚就业不久的17-0910Java班学员代表李鑫铭与同学孔杰、孙磊、杨林一起来到济南华育

2018年01月05日

济南华育705网络营销班毕业啦

济南学网络营销课程 就到济南华育IT

2018年01月08日

IT行业,哪些岗位可以拿高薪

IT行业,哪些岗位可以拿高薪在职场毫无方向的时候,你可能会有这样的疑问:干哪行好呢?如果学计算机在你考虑的范围内,将来想进入软件和互

2019年09月25日

零基础如何学好大数据?

零基础如何学好大数据? 大数据是对海量数据进行存储、计算、统计、分析处理的一系列处理手段,处理的数据量通常是TB级,甚至是PB或EB级的

2019年09月24日

非计算机专业能学JAVA软件开发吗?

非计算机专业能学JAVA软件开发吗? 非计算机本专业是完全可以学的,java语言本身是很简单,不需要数学基础,甚至不需要什么计算机基础。 

2019年09月23日

2019,跳槽转行适合学习什么技术?

2019,跳槽转行适合学习什么技术?  近年来,随着信息技术的发展,阿里巴巴、百度、腾讯等IT企业如雨后春笋,拔地而起,马云、李彦宏、马

2019年09月21日

热点推荐