这里算是转贴,原帖发在
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3979245,
原帖回复部分也有些自己的看法。 两个月前,开始招聘Delphi程序员,招聘前随手写了几道题,用来笔试。
到现在还没有招到人,很无奈,标准甚至降到只要能做第1、3、5题就录用的水平。结果竟然没有人能够将这3题都答对。很多人连string和WideString的区别都不知道。
近几年,Delphi的从业环境逐年下降,在网路上看到无数人在唱衰歌、转语言。想来原因有:
1、行业开发方向往网络、嵌入式、分布式发展;而Delphi被大家当成做数据库开发的工具(甚至之前宝兰都这么宣传)。
2、用Delphi的公司大都是做MIS的中小公司,产品附加值差,一味压低产品门槛和开发人员素质。
3、开发人员大多只会拖拖控件,碰到点小问题就到处找控件,看看大富翁、CSDN Delphi的问题,一个个白痴得不行。
4、关于Delphi的教材也是全篇一律的数据库开发,不亦乐乎地玩弄些数据读写的小技巧。
我想说的开发人员的问题。过来面试的人,从77年到88年的都有,年龄跨度上较有代表意义。多数人的简历上都写着精通这个、熟悉那个,却只能做上3、4题,还未能全对,有写上名字交来白卷的,更有2个80年前后的应聘人,看了会题目后直接走了。我觉得题目还是比较容易的,而是很多人的开发能力差,从来没有想过理解开发环境、操作系统提供的能力,提高算法设计能力。因此,给人的印象用Delphi的都是些水平低下的人,公司没法提高开发质量、产品质量,也就无法开出有竞争力的薪资,最后是整个Delphi生态链的质量下降。
说这些话,一来期望得到些共鸣;二是希望借此招聘,我对英才网上泛滥的简历几近绝望了。我姓李,联系方式是:[email protected],北京金钻石科技发展有限公司。
笔试题目如下:
Delphi工程师笔试题
北京金钻石科技发展有限公司
答题人:_______________一、 Delphi基础
1、Delphi 内置类型 string 和 WideString 的区别。
2、简要描述Delphi代码单元中,以下关键字的作用。
interface:
implementation:
initialization:
finalization:
3、将一周七天声明成枚举类型。
4、现有Integer 变量 A、B,在不声明其它变量的情况下,将它们的值交换。
如,A := 1; B := 2; 交换之后 A = 2; B = 1。
5、现有以下类:
type
TBase = class
function GetValue: Integer; virtual;
end;
TChild1 = class(TBase)
function GetValue: Integer; override;
end;
TChild2 = class(TBase)
function GetValue: Integer; override;
end;
function TBase.GetValue: Integer;
begin
Result := 1;
end;
function TChild2.GetValue: Integer;
begin
Result := 2;
Result := inherited GetValue;
end;
function TChild1.GetValue: Integer;
begin
Result := inherited GetValue;
Result := 3;
end;
用以下方法创建对象o1, o2: TBase:
o1 := TChild1.Create;
o2 := TChild2.Create;
那么调用以下方法的返回值是
o1.GetValue返回:
o2.GetValue返回:
6、如何模块内部获得自身路径?
Exe程序:
DLL程序:
7、描述一下TEidt和TListView的类派生顺序,并说明它们的来源区别。
8、用pascal 写一个双向链表。
9、设计模式中的单件模式,在Delphi中可以用什么方式创建。
10、Delphi快捷键
快速搜索添加控件:
打开工程属性对话框:
切换编辑中的代码窗体:
删除一行代码:
二、 Win32基础
1、写出Delphi声明Win32类型的库及其对应的Win32 Dll库(至少3个)。
2、如何在Delphi中完成多线程的内存保护。
三、 数据库
1、现有MS SQL Server 数据库 UserLibs 列举出所有用户表及其字段。
2、现有数据库A,数据库B和A相对应,在数据A中表增加时,或字段增加时,将结构同步到数据库B中,该过程不能损害数据。(上机题)
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3979245,
原帖回复部分也有些自己的看法。 两个月前,开始招聘Delphi程序员,招聘前随手写了几道题,用来笔试。
到现在还没有招到人,很无奈,标准甚至降到只要能做第1、3、5题就录用的水平。结果竟然没有人能够将这3题都答对。很多人连string和WideString的区别都不知道。
近几年,Delphi的从业环境逐年下降,在网路上看到无数人在唱衰歌、转语言。想来原因有:
1、行业开发方向往网络、嵌入式、分布式发展;而Delphi被大家当成做数据库开发的工具(甚至之前宝兰都这么宣传)。
2、用Delphi的公司大都是做MIS的中小公司,产品附加值差,一味压低产品门槛和开发人员素质。
3、开发人员大多只会拖拖控件,碰到点小问题就到处找控件,看看大富翁、CSDN Delphi的问题,一个个白痴得不行。
4、关于Delphi的教材也是全篇一律的数据库开发,不亦乐乎地玩弄些数据读写的小技巧。
我想说的开发人员的问题。过来面试的人,从77年到88年的都有,年龄跨度上较有代表意义。多数人的简历上都写着精通这个、熟悉那个,却只能做上3、4题,还未能全对,有写上名字交来白卷的,更有2个80年前后的应聘人,看了会题目后直接走了。我觉得题目还是比较容易的,而是很多人的开发能力差,从来没有想过理解开发环境、操作系统提供的能力,提高算法设计能力。因此,给人的印象用Delphi的都是些水平低下的人,公司没法提高开发质量、产品质量,也就无法开出有竞争力的薪资,最后是整个Delphi生态链的质量下降。
说这些话,一来期望得到些共鸣;二是希望借此招聘,我对英才网上泛滥的简历几近绝望了。我姓李,联系方式是:[email protected],北京金钻石科技发展有限公司。
笔试题目如下:
Delphi工程师笔试题
北京金钻石科技发展有限公司
答题人:_______________一、 Delphi基础
1、Delphi 内置类型 string 和 WideString 的区别。
2、简要描述Delphi代码单元中,以下关键字的作用。
interface:
implementation:
initialization:
finalization:
3、将一周七天声明成枚举类型。
4、现有Integer 变量 A、B,在不声明其它变量的情况下,将它们的值交换。
如,A := 1; B := 2; 交换之后 A = 2; B = 1。
5、现有以下类:
type
TBase = class
function GetValue: Integer; virtual;
end;
TChild1 = class(TBase)
function GetValue: Integer; override;
end;
TChild2 = class(TBase)
function GetValue: Integer; override;
end;
function TBase.GetValue: Integer;
begin
Result := 1;
end;
function TChild2.GetValue: Integer;
begin
Result := 2;
Result := inherited GetValue;
end;
function TChild1.GetValue: Integer;
begin
Result := inherited GetValue;
Result := 3;
end;
用以下方法创建对象o1, o2: TBase:
o1 := TChild1.Create;
o2 := TChild2.Create;
那么调用以下方法的返回值是
o1.GetValue返回:
o2.GetValue返回:
6、如何模块内部获得自身路径?
Exe程序:
DLL程序:
7、描述一下TEidt和TListView的类派生顺序,并说明它们的来源区别。
8、用pascal 写一个双向链表。
9、设计模式中的单件模式,在Delphi中可以用什么方式创建。
10、Delphi快捷键
快速搜索添加控件:
打开工程属性对话框:
切换编辑中的代码窗体:
删除一行代码:
二、 Win32基础
1、写出Delphi声明Win32类型的库及其对应的Win32 Dll库(至少3个)。
2、如何在Delphi中完成多线程的内存保护。
三、 数据库
1、现有MS SQL Server 数据库 UserLibs 列举出所有用户表及其字段。
2、现有数据库A,数据库B和A相对应,在数据A中表增加时,或字段增加时,将结构同步到数据库B中,该过程不能损害数据。(上机题)
貌似根据你们的实际需要出的题,这像是某个项目的开发人员出的题,而不是懂得招聘的管理人员出的
这个题不是表示要招Delphi高手,招聘情况,原文已经说明。
to nbzip,mdejtod
这个题,我昨天在大富翁和盒子都发了一份。考虑到每个人可能上的站不一样,也就抄一份到这里。
貌似这些题也不能说是死记硬背的题吧,我希望得到的是对开发工作的理解,有些题我觉得你肯定在教科书里找不到答案。
如,A := 1; B := 2; 交换之后 A = 2; B = 1。 这个要是A,B小于65535的数字..我还会...如果是任意数就不会了..9、设计模式中的单件模式,在Delphi中可以用什么方式创建
这个 看看 刘老师的书 编程模式 应该没问题..可以书买了 放在那里没怎么看10、Delphi快捷键
快速搜索添加控件:
删除一行代码:
没怎么用过...控件稍微找找就找到了..没怎么用过快捷键-----------
2、现有数据库A,数据库B和A相对应,在数据A中表增加时,或字段增加时,将结构同步到数据库B中,该过程不能损害数据。
----------这条 楼主要是 知道的话..一定要告诉我啊...
对做双机备份很有用..可惜我没想到什么好方法
答案肯定是有的。
to PBGun
我宁肯多问些基础,其实除了Delphi,我也在招其他语言的;语言并不重要,所以不同语言职位的面试题目背后的意味都差不多。我不是老板,我望得到是人,不是工具。
to kwer
呵呵,跳开开发,人活着还是有点激情好。
貌似有些误解。题里的确不乏基础,但是我希望得到是对语言(工具)及其外延(OS、算法等)的理解。
因为具体的开发(我觉得这估计是你表达的能力)都是可以迅速学习或者找到答案的;只要有基本的理解,那么做什么开发,用什么语言还有关系吗?
我也赞同你的招聘看法,或者说这种看法也折射了现实的无奈。发这个帖子,说这些感想,只是想描述一下我理解的delphi结症。我们看delphi老在说数据库什么,新人就以为delphi不就是一个Form、一些界面控件,加上ADO什么的,还是有折腾诸如效率奇差无比的MIDAS之类的东西,我只想说三个字——完蛋了!
貌似没有理解我的意思。
题和做了几年开发没有关系的;我想这是两个概念吧。
1:会利用网络和MSDN资料解决问题。
2:会模仿并适当发散。
3:熟悉业务逻辑。
4:代码编写习惯要好。
呵呵,公司是换地方了;你说的会计姐姐还在;至于面试,并不是想象中的海选啦。
to youthon,gelinqing
贴中我就说了,发帖的目的是发发感想,二来看看这种方式能不能找到人。
各位所说的,我否认是一种工作方法。
至于题,不就外延了点吗?难道都只剩下拷贝粘贴,没有自己思考了、丧失激情了吗?
to bdmh
我不知道你是不是以攻击人做为乐趣,不清楚你是不是受过什么非人的伤害,但也不用将自己搞得喝疯子一样。
用Delphi的公司,有几个有人才培养计划?
其次,是不是非要将人集中到一起送去上课,人才培养计划?
我以为,依赖于环境驱动,还不如自我驱动。
对于面试题不一定,实际工作中都能碰到;我写完题目的那天下午,我就将题目发给同事们,大家工作停一下,看看这些题你会如何去做;我们平时也会讨论很多开发的话题,和具体工作没有关系,和Delphi没有关系;所以,招聘的时候,我期望找到同道中人。
和大家的讨论中,我觉得,不少人在观念上都很消极。
我什么要求都没有提,不参考所谓工作经验、性别、学历。也没有说我在找高手;只是说希望找到相同理念的人。
至于人海攻击,无所谓啦,只要不死人,没有什么问题是值得担心的。
http://topic.csdn.net/u/20091019/17/adf9d49a-f539-4ee0-afbf-2a2b7b35561c.html====================================
我觉得面试题,取一些平时要经常性遇到的问题或功能就好了.
因为行不行,在工作的前一二天之中就能体现出来.如果不行就是不行.当然如果是大公司,就得有培训机制,人都是可成长性.给一个月的学习期.
如果题很具体,那么肯定会有人说,能不能通用一点啊,具体的东西一查就知道,只要是基础掌握了。
现在题基础了些,也引来一堆人说,应该考些具体点的,基础的东西平时也用不到,谁能记得住啊。我还是觉得应该在基础的东西多些了解,对开发环境自身(包括编辑器、库等)多些了解,在对OS多些了解,这样能知道在什么层面上开发,可以利用的东西有哪些,编译出来的代码运行在哪里;这样做出来的东西,高效、简洁、稳定,更重要的是易于维护。谢谢大家关注,这边我先结贴了,30号前我会将题的全部答案发在大富翁里(贴首有链接)。
如果从我的帖子里,觉得有共同话题,可以加我qq701883。
恐怕沒有幾個人 是專門為哪個公司準備的 像樓主你說的"一个个白痴得不行" 說這個 說明你本身就存在問題...........莫非你要將自己炒成IT招聘界的'芙蓉姐'~_~ ...............不由想起一句話 你可以指點但不可以指指點點 ............