全方位剖析QT 面试题 胡峰原创

自己毕业后参加过很多面试,当然有以应聘者的身份参加的也有以面试官的身份参加的,下面我想总结下一些面试官出题的方向和回答的技巧,下面截取我对一个应届毕业生的面试过程作为讲解,希望能对再今后的面试任职时有所帮助。


姓 名

AAA

性 别

民 族

汉 族

籍 贯

河北省AA

出生日期

AAA

婚姻状况

学 历

学 士

政治面貌

AA

专 业

计算机科学与技术

健康情况

健康

毕业院校

AAA

邮 编

A

联系电话

AAA

邮 箱

AA

个人技能

我学习了嵌入式方向所涉及的51单片机、操作系统、ARMQt等,期间做过许多小实验,单片机最经典的入门实验万年历;嵌入式bootloader的烧写、内核及文件系统的配置与移植;ARM9ARM10开发;Qt曾做过“QQ聊天”“音乐播放器”“实验室人员管理系统等,还用Qt做过二次开发,比如指纹识别机,质量流量计;为EELiod实验箱写了ubuntu下的开发教程;熟练操作redhatsuseUbuntu操作系统

奖惩情况

荣获三好学生,优秀学生干部,优秀社干等荣誉称号荣获一、二、三等奖学金各一次;

英语六级;计算机四级数据库工程师

自我评价

具备较强的与人沟通能力;

能够适应快节奏的现代化工作和生活;

能够从事有创造性和挑战性的工作;

做事踏实,自觉服从公司纪律;

善于与同事相处

项目经验

2008.10—2009.06 项目名称:单片机--万年历

单片机--万年历包括时间显示,调时,定闹钟功能,实现了电子钟的普通功能。开发是在keilProteus仿真环境下做的,开发完成后在51单片机下修正实现。

-职务名称:项目由本人自己完成

-项目职责:除去需求分析外,首先确定要实现的功能,然后编写测试各个功能模块,最后整合调试移植。

2009.10--2009.11 项目名称:QQ聊天室软件

QQ聊天软件是用Qt开发工具开发的,通过Qt提供的QTcpServerQTcpSocket实现了QQ聊天功能。

-职务名称:项目由本人自己完成

-项目职责:主要是了解TCP协议,然后分别实现服务器端和客户端。

2009.11—2009.12 项目名称:音乐播放器

音乐播放器也是由Qt开发工具开发的,主要实现了类似“暴风影音”的功能,包括播放一般文件类型的音视频,播放暂停等按钮。

-职务名称:项目由本人自己完成

-项目职责:掌握并使用Phonon这个多媒体框架Qt开发。

2010.02—2010.05 项目名称:实验室管理系统

实验室管理系统包括Qt开发工具、指纹识别机、MySQL。实现了通过指纹识别机把人员录入数据库和通过指纹识别机、数据库查询人员资料。

-职务名称:项目由本人自己完成

-项目职责:研究指纹模块、QtMysql的开发。

2010.10—2010.11 项目名称:车载导航

车载导航包括Qt开发工具、GPS模块。实现了实时定位和地图拖拽等功能。

-职务名称:项目由本人自己完成

-项目职责:研究GPS模块、Qt开发。


简历对于技术面试官的只是着重看了项目经验,和个人技能,其实技术面试的话,也只是问些关于技术方面的事情,至于你其他方面 什么奖学金啊 党员啊 什么的 对于我来说并不敢兴趣,有时候看到一些刚毕业的大学生整篇简历其中有很大篇幅再写自己大学的光荣使,什么时间做的班长啊,团支书啊,什么时候组织了什么什么活动啊等等一大堆的东西,在这里我想对那些应届毕业生一个忠告,有的时候过度的描述美化自己会让hr觉得你的简历很不真实,往往会让人觉得你大学里大部分时间和心思都放在参加学生工作上,并没有放在自己的学业上。

根据上位同学的简历 我设置里如下几道问题:

1:你能说过ARM7 跟ARM9的区别吗?(这道问题是我根据他简历上写的“我学习了嵌入式方向所涉及的51单片机、操作系统、ARMQt”)

没想到对方给的答复是“不好意思 我大学时学的是arm9 没有学过arm7” 听到这个回答说时候我的心里真的很失望的,首先一个学校如果开设了arm9的课程外没有再开设arm7的必要,但是作为嵌入式方向的并且已经学习过arm的同学 应该很有必要去了解下,于是我提示性的问他 你知道“冯诺一般结构跟哈佛结构吗?arm9用的是什么结构呢?“ 最终对方还是没有回答让这个问题。

2:看你的项目大部分是QT的,你可以给我描述下你对QT信号槽的了解吗?

对方说了一大堆,听得我稀里糊涂的,我估计连他自己也不知道自己再说些什么,总之多回答根本没再着重点上,于是我又做了引导性的提示,”或者你说说你觉得QT信号槽机制的优缺点吧“

其实QT信号槽是整个QT框架的精髓,对qt信号槽的理解程度反应了一个程序员对Qt的掌握程度,其实这个问题并没有标准答案,下面我把我设置这几个问题的得分点写下来

a。QT信号槽机制的引用精简了程序员的代码量

b。QT的信号可以对应多个槽(但他们的调用顺序是随机),也可以多个槽映射一个信号,

c。QT的信号槽的建立和解除绑定十分自由

e。信号槽同真正的回调函数比起来时间的耗损还是很大的,所有在嵌入式实时系统中应当慎用

f。信号槽的参数限定很多例如不能携带模板类参数,不能出现宏定义等等

3:请简述你是如何实现QQ聊天软件中的两个客户端私聊功能的?

对对方的回答还算满意,能看的出他这个项目的确是他自己做的,然后为了给他一个印象分,我又给了一到附加题”你能给我时候说常见的几个网络协议吗“

4:音乐播放器中你是如何实现音乐的快进快退的?

因为我知道整个工程中的难点在于 音乐的快进快退,所有我直奔主题,可是没想到对方的回答是不好意思哪项功能到目前还没实现,我又接着问 "那你有想过要实现这个功能吗?" 对方回答"当初想过"并且还把没有事先的原因将来出来,听到原因后我了解了 他虽然没有实现出那项功能,但是通过他想找出解决方案的努力中,他已经对于qt 的 phono框架有了一定的深入 所以这个题的答案我还是给了他满分

5:在你的实验室管理系统中应用的是MySQL 我想问一下 你能告诉我mysql是哪家公司维护的吗?

我问这个问题的原因是想试探下他是不是一个只会敲代码的书呆子,因为一个好的程序员不光是要掌握一门开发语言一个开发工具,而是要全方位的了解一个东西,例如一门新的语言出来后,我们要看这门语言的发展前景,拿QT来说,我们不光要学习qt的编程,还要关注qt的发展历史,关注诺基亚公司的发展动态,譬如说诺基亚公司放弃qt的,你是不是还要学习qt呢,这都是我们要深思和学习的

想到这样多,其实问道这 基本上也能对应聘者的情况做一个差不多的评判,对他的去留自己也心里有准了,希望我写的能对大家在qt面试中有所帮助

胡峰

2010年12月4日

你可能感兴趣的:(面试题)