今天我去一家公司面试有感!!!(20分)

林枫

Unregistered / Unconfirmed
GUEST, unregistred user!
今天我到一家软件公司去面试,他们的主管问过我些常规问题后就让我调试一段程序,我心里确实没底。到
不是技术上的,我是怕别人写的代码风格如果与规范的差得太多那我怎么办?
到了电脑前一看,是数据库查询的一段代码。代码格式都是按照手册上讲的写的很规范,她说:这里面有一个菜单,功能都写好了,
但就是每次执行时,所有子菜单显示的都是一个结果集,不是想要的查询。你给我调一下。
我心想真简单,但上去一看才知道,妈的,谁这个变态,居然菜单里面什么都没有,所有的子项都是程序运行时动态生成的,
一看代码太长了,在窗口的OnShow事件里有20来行,有一个方法连接子菜单的OnClick事件。将代码移过去一看,呵足有80多行
而且全是环循,一个套一个,还夹杂着各种设置成布尔类型的数量来检查调用的是哪个子菜单,最终的目的就是生成一个SQL,来
得到一个查询的结果集。
调了十分钟也没个结果,用ShowMessage函数看了一最后执行的那条SQL,原来所有的菜单都是调用同一个SQL,我想可能是Group By
子句的问题,就在这时她叫停了。可能是怀疑我的水平,让我用ADO连接一下SQL Server的表,这个可太EASY了,15秒搞定。
然后就是让我回去等消息,我想可能是凶多吉少了。
不过通过这次的经历,确实长了经验,以后遇到让你调一段程序时千万不能慌也不能急,刚开始我都不知道应该用哪能种方法了,平时学
的用的那些都记不清了,甚至都把D6弄得一运行就报错,幸好重新运行就好了。
最后有一个问题:动态创建菜单,动态配置SQL语句对程序有什么好处?执行速度方面我觉得应该会比较慢。?
以前我也用过但觉得没必要,也从没在工作中用。
 
涨经验了,要好好的先全局分析,看看那个突破点。
 
首先是要沉着千万别慌,不妨对自己说“这没什么了不起”
 
有这样的面试经验也不错呀
 
我看她也没有什么水平呀
 
自信!用了这么久Delphi你还怕有什么搞不定的吗?
 
动态菜单,可以根据权限为任何不同的一个(一组)用户赋予不同的权限
速度当然是要慢一点,但是在项目中,经常会用到的
这是一个常用的方法。
 
长见识!
 
多层的循环嵌套用多了未必是好事,可以用exit来减少嵌套的
 
动态配置SQL语句不会慢,因为在发SQL之前都是一些字符串操作,要说速度无非1微秒和10
微秒的区别看起来差十倍,对于操作者来说什么区别都没有
发出SQL后执行起来大家的效率都一样,都要靠后台服务器了.
 
我调过个更变态的 tquery 都是动态生成的 nnd 调试烦死了
 
调试数据库程序如果用到SQL语句最好是showmessage看他产生的sql语句是否正确.
平时就是这样做的.
//动态菜单和SQL语句是为了改起来更容易.
 
如果她没有向你解释那段代码问题出在什么地方,那说明她自己也没法搞定,可能想利用利用你
 
动态生成SQL就搞掂你了,你也太EASY了吧!
我现在做C#都用动态类生成,动态方法调用...
其实我做的是一个类库测试工具,不过知道这些,对做死的程序就简单多了。
 
多人接受答案了。
 
顶部