招聘感想(含面试题)(0)

  • 主题发起人 主题发起人 gdli
  • 开始时间 开始时间
记忆不好,那些题都答不出来,做系统,要的是经验与学习能力!我做了五年Delphi,上面的题也不会!不过Google一下就出来了!!其实知道怎么回事就行了!
 
to qzz820 你愿意一辈子做“系统”,有公司会聘用做了一辈子“系统”的人? 不多说了,不然又被误会了。
 
除了数据库方面,一次通过了,看来我基础蛮扎实[:D]。帮顶,因为我离开bj很久了。
 
to 楼主: 我想知道第 9 题 的答案, 等你整理出了答案麻烦发一份给我, 谢谢! leovin2008@yahoo.com.cn9、设计模式中的单件模式,在Delphi中可以用什么方式创建。
 
to gdli, 还是不要故弄玄虚了吧。单件的模式是可以不使用全局变量来实现,方法如下:1.实现单件的对象可以继承自某一个特定的类,这个也不用说的太清楚,想想exe一旦启动了就会存在的初始化好的exe级全局变量就知道了。这个严格意义上并不能算是完美的单件,只要构造函数不能隐藏,那么我只要随便create出来还能称之为单件吗?2.把单件对象定义成为implementation级的var对象,这种变量不是全局变量,外部也不能访问,但是同一个unit的方法可以访问,这样就可以用class function来定义所谓的单件对象了。不管是哪一种对象,只要是构造函数不是protected或者private级的,那么要多少就有多少...
 
当然你如果借用OS本身的特性,那就当我没说过。不过这样一来就更成了故弄玄虚了,和语言没关系,那么和delphi的版本更没什么关系,不管是delphi的哪一个版本,调用API总是能办到的吧,和是不是delphi3以后有什么关系呢?设计模式本身是借用OOP语言的特性来解约复用问题的,如果和语言无关,那么就是纯属技巧性的东西了,这样就背离了模式的初衷...
 
下面的十六进制数据请楼主回答能不能知道是什么?不知道就别自以为是高手$C2 $A5 $D6 $F7 $C4 $E3 $BE $CD $CA $C7 $D2 $BB $B8 $F6 $C9 $B5$B1 $C6 $A1 #A3 $BB $B9 $C3 $BB $D3 $D0 $C0 $ED $BD $E2 $CA $B2$C3 $B4 $CA $C7 $B3 $CC $D0 $F2 $D4 $B1
 
to me555555$C2 $A5 $D6 $F7 $C4 $E3 $BE $CD $CA $C7 $D2 $BB $B8 $F6 $C9 $B5$B1 $C6 $A1 #A3 $BB $B9 $C3 $BB $D3 $D0 $C0 $ED $BD $E2 $CA $B2$C3 $B4 $CA $C7 $B3 $CC $D0 $F2 $D4 $B1 -->楼主你就是一个xx(貌似有这俩字我发不了回复。。。)。还没有理解什么是程序员。。。你最末尾忘了补上个零了用Delphi比较麻烦,直接用CB翻译的,不是高手,而且我这人很笨,见谅。况且,不必这么样吧,发牢马蚤归发牢马蚤,过激了对大家都不好。毕竟,楼主也是用Delphi的,我相信他的初衷是没有恶意的。再说,大家的外围环境已经那么糟糕了,大家都是同路人,何苦还要自相残杀。
 
再说,我们确实不是什么大师、天才,要不也不必为工作操劳,发愁。而且,我们自身确实也不完美。像我总觉得自己缺的太多了。总觉得提起那样都不足以拍着胸脯自豪的说:“我肯定行。”也许和从小的教育有关“天外有天,人外有人”。但企业和学校是有很大不同的,企业需要自信的人,即使你不怎么行,但你敢顶事就好。就像我今天去一个软件公司询问应聘的事,结果就被郁闷了。。。2个多小时,老板最后直接了当的说了,他们想要的不是基本功扎实、涉猎面广(广也广不到哪去,我只不过会点汇编而已)希望对工作精益求精的新手,要的是有丰富经验可以立马顶起岗位,维护起公司以有的老代码的老手。很客气的拒绝了我,而且表示因为他们正在逐步把系统向C#转移,所以不需要也不打算培养Delphi程序员了(言下之意,新手,滚蛋吧,我们不要Delphi程序员了)。哎,浪费我2个半小时,合着全陪他聊天了。可能,好像他是在暗示期望我转向C#但我没有表示,所以最后摊牌了。回来后,想想也许他是这个意思才一直拖着,没说明。我QQ,我不善于聊天,QQ都送人了,没想到今天又问人家要。。。让我选,我选了个875116508,通常没什么机会上。可能要认证,我这人比较懒,懒得打字,懒得聊天。。。敏感字系统。。。害我排了1分钟错。。。
 
char m_str[]={0xC2,0xA5,0xD6,0xF7,0xC4,0xE3,0xBE,0xCD,0xCA,0xC7,0xD2,0xBB,0xB8,0xF6,0xC9,0xB5,0xB1,0xC6,0xA1,0xA3,0xBB,0xB9,0xC3,0xBB,0xD3,0xD0,0xC0,0xED,0xBD,0xE2,0xCA,0xB2,0xC3,0xB4,0xCA,0xC7,0xB3,0xCC,0xD0,0xF2,0xD4,0xB1[red],0x00[/red]};
ShowMessage(AnsiString(m_str));
edt1->Text=AnsiString(m_str);应该m5是炫耀炫耀技巧吧,我想他也不会是真的这么浅。
 
单件?大概可以用静态常量以及构造函数中的异常处理规则实现吧,很久之前用过,不过意义不大就放弃了。至于你的那些题目,如果给我个delphi,除了数据库方面的(很久没用忘记了),其他的都不是问题。
 
const m_str: array[0..42] of Byte=($C2,$A5,$D6,$F7,$C4,$E3,$BE,$CD,$CA,$C7,$D2,$BB,$B8,$F6,$C9,$B5,$B1,$C6,$A1,$A3,$BB,$B9,$C3,$BB,$D3,$D0,$C0,$ED,$BD,$E2,$CA,$B2,$C3,$B4,$CA,$C7,$B3,$CC,$D0,$F2,$D4,$B1,$00);... ShowMessage(PChar(@m_str));
 
to 不能没有你,关于单件的,参考一下http://www.delphibbs.com/delphibbs/dispq.asp?lid=3974324很早就可以实现并应用了。楼主说delphi3以上能实现,不知道是否指{$J}的效果.
 
to 不能没有你 再说单件,我知道有几种方法可以实现,最简单的一种,是利用Delphi3版本开始,加入的语言特性,不是利用OS的特性。to dark_power 你说的这种老板,我也碰到过,我对你的心态表示理解;这次公司招人毕竟是由我来控制,所谓物以类聚、人以群分,我期望进来1-2人是能在一起探讨技术的,不管是否和工作内容有关、不管是什么语言,这是我出的面试题的初衷。最后 to “对我有意见的每一个人” 我不明白为何要将讨论简单的面试题,变成对人的攻击,难道因为在网路上大家互不认识、互不知道,故可以相互谩骂、发泄心情?如果觉得对“面试”这个词觉得刺目,那么我们尽可抛开面试,当成一种技术上的探讨。我明白很到东西google一下就知道了,这也是一种工作方式,但是我们深入理解一下又有何妨呢?再说现实点的问题,目前Delphi程序员的薪水比C、C++要低得多,难道是Delphi工具的错,Delphi开发不了C、C++的能开发的东西?我想答案每个人都明白。
 
to autumn 不是,我想让这个帖子继续讨论一阵,所以暂时我不会说出题目的任何答案。
 
to gdli,其实你那个问题我还是不清楚你说的到底什么意思,但是要实现你那个功能并不复杂,不就是在两个数据库里进行表的一些操作吗,这有什么复杂的,而且这个能考到delphi什么啊,直接用sql就可以解决了,建议你以后把问题写清楚点,要不题目都有歧义,别人怎么答啊
 
to autumn:如果需要在默认构造函数中抛出异常的话,那么这个单件好像使用起来怪怪的。而且你的变量也不需要用{$J}指令来定义,只要照我说的方法,定义在implementation级别就可以了,外部是看不到的。to gdli:楼主如果说利用语言特性,那么最好能说明一下你怎么解决(完美解决)不能隐藏构造函数的问题。另外一直以来delphi的行情的确都不怎么样,所以偶很早就转java了,而且本人的c/c++水平也不怕拿出来晒晒。不过这些东西就算掌握的再多也没什么用,变不成产品和市场需要的东西,一文不值,只能给老板打工混日子。to dark_power:C#是非常简单的,比delphi还要简单许多,进这个门槛所需要的能力更是低的可怕。本人不才C#也做过东西不管是web的还是desktop。不过受OS软硬件平台的局限,C#在大型商业领域应用短期内注定干不过java。
 
to 不能没有你 我前面的回复已经说明了,我暂时不会说出答案的。但是,结贴的时候,肯定会说的。
 
to hehehehehe 同步结构,如你在A库中新创建了表T1,那么在B库中自动地新增相同结构的表T1;或者 在A库中的表T2新增了字段F1(int类型,默认是0,非空),自动在B库中的T2表中也增加相同属性F1字段。 但是不能将数据带过去,或者修改B库的数据。
 
关于delphi一些老版本实现单例模式确实比较蹩脚,下面是一种作法,不过这么做有个问题,只有在运行时才能发现TSingleton不能被第二次create TSingleton = class public constructor create;
class function getInstance: TSingleton;
end;
implementation{ TSingle }var singleton: TSingleton = nil;constructor TSingleton.create;
begin
if Assigned(singleton) then
raise Exception.Create('')end;
class function TSingleton.getInstance: TSingleton;
begin
if not Assigned(singleton) then
singleton := TSingleton.create;
// 也可以不要上面两行,在单元的initialization中加上singleton := TSingleton.create;
result := singleton;
end;
 
后退
顶部