life02

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  197 随笔 :: 3 文章 :: 37 评论 :: 0 Trackbacks

#

恢复视力的方法 为了你的眼睛请收藏吧

近视到底能不能治疗呢?不做激光手术的话,我们能做些什么吗?

1远方凝视
找一处10米以外的草地或绿树:绿色由于波长较短,成像在视网膜之前,促使眼部调节放松、眼睫状肌松弛,减轻眼疲劳。不要眯眼,也不要总眨眼,排除杂念、集中精力、全神贯注的凝视25秒,辨认草叶或树叶的轮廓。接着把左手掌略高于眼睛前方30厘米处,逐一从头到尾看清掌纹,大约5秒。看完掌纹后再凝视远方的草地或树叶25秒,然后再看掌纹。10分钟时间反复20次,一天做三回,视力下降厉害的要增加训练次数。

2晶体操
转眼:双手托腮,让眼球按上、下、左、右的顺序转动10次,接着再逆时针、顺时针各转动10次。
找一幅3米外的景物(如:墙上的字画等),同时举起自己的左手距眼睛略高处伸直(约30厘米),看清手掌手纹后,再看清远物,尽量快速的在二者间移动目光,往返20次。

3推拿操
采取坐式或仰卧式均可,将两眼自然闭合,然后依次按摩眼睛周围的穴位。要求取穴准确、手法轻缓,以局部有酸胀感为度。
揉天应穴:用双手大拇指轻轻揉按天应穴(眉头下面、眼眶外上角处。 )
挤按睛明穴:用一只手的大拇指轻轻揉按睛明穴(鼻根部紧挨两眼内眦处)先向下按,然后又向上挤
揉四白穴:用食指揉按面颊中央部的四白穴(眼眶下缘正中直下一横指)。
按太阳穴、轮刮眼眶:用拇指按压太阳穴(眉梢和外眼角的中间向后一横指处),然后用弯屈的食指第二节内侧面轻刮眼眶一圈,由内上->外上-> 外下->内下,使眼眶周围的攒竹鱼腰、丝竹空、瞳子寥、球后、承泣等穴位受到按摩。对于假性近视、或预防近视眼度数的加深有好处。

保护视力的4种锻炼方法

一、转眼法
选一安静场所,或坐或站,全身放松,清除杂念,二目睁开,头颈不动,独转眼球。先将眼睛凝视正下方,缓慢转至左方,再转至凝视正上方,至右方,最后回到凝视正下方,这样,先顺时针转9圈。再让眼睛由凝视下方,转至右方,至上方,至左方,再回到下方,这样,再逆时针方向转6圈。总共做4次。每次转动,眼球都应尽可能地达到极限。这种转眼法可以锻炼眼肌,改善营养,使眼灵活自如,炯炯有神。
二、眼呼吸凝神法
选空气清新处,或坐或立,全身放松,二目平视前方,徐徐将气吸足,眼睛随之睁大,稍停片刻,然后将气徐徐呼出,眼睛也随之慢慢微闭,连续做9次。
三、熨眼法
此法最好坐着做,全身放松,闭上双眼,然后快速相互摩擦两掌,使之生热,趁热用双手捂住双眼,热散后两手猛然拿开,两眼也同时用劲一睁,如此35次,能促进眼睛血液循环,增进新陈代谢。
四、洗眼法
先将脸盆消毒后,倒入温水,调节好水温,把脸放入水里,在水中睁开眼睛,使眼球上下左右各移动9次,然后再顺时针、逆时针旋转9次。刚开始,水进入眼里,眼睛难受无比,但随着眼球的转动,眼睛会慢慢觉得非常舒服。在做这一动作时,若感到呼吸困难,不妨从脸盆中抬起脸来,在外深呼吸一下。此法,能洗去眼中的有害物质和灰尘,还对轻度白内障有效,并能改善散光、远视、近视的屈光不正程度。.

posted @ 2010-04-13 10:48 life02 阅读(112) | 评论 (0)编辑 收藏

     摘要: 序言      在担任公司高管的几年间,我面试过数以百计的各个层面的员工,其中最让我感到遗憾的一个现象就是很多人有着非常好的素质,甚至有的还是名校的毕业生,因为不懂得去规划自己的职业,在工作多年后,依然拿着微薄的薪水,为了一份好一点的工作而奔波。很多这样的人,他们只要稍微修正一下自己的职业方向,就能够在职业发展上走得更从容。      有一次一个大连理工大学...  阅读全文
posted @ 2010-04-07 12:50 life02 阅读(1273) | 评论 (0)编辑 收藏

睡觉的诀窍 
   
  所以,根据医学和我的体验、观察,一个人真正睡着觉最多只有两个钟头,其余都是浪费时间,躺在枕头上做梦,没有哪个人不做梦。至于醒来觉得自己没有做梦,那是因为他忘记了。 
   
  通常一个人睡两个钟头就够了,为什么有人要睡七、八个钟头?那是你赖床躺在枕头上休息的习惯养成的,并非我们需要那么久的睡眠时间,尤其打坐做功夫的人晓得,正午只要闭眼真正睡着三分钟,等于睡两个钟头,不过要对好正午的时间。夜晚则要在正子时睡着,五分钟等于六个钟头。 
   
  就这个时间的学问又大了,同宇宙法则、地球法则、易经阴阳的道理有关系,而且你会感觉到,心脏下面硬是有一股力量降下来,与丹田(肾上)的力量融合,所谓“水火既济”,豁然一下,那你睡眠够了,精神百倍。 
   
  所以失眠或真要夜里熬夜的人,正子时的时刻,哪怕二十分钟也一定要睡,睡不着也要训练自己睡着。 
   
  过了正子时大约十二点半以后,你不会想睡了,这很糟糕。更严重的,到了天快亮,四、五点钟,五、六点卯时的时候,你又困得想睡,这时如果一睡,一天都会昏头。 
   
  所以想从事熬夜工作的人,正子时,即使有天大的事也要摆下来,睡它半小时,到了卯时想睡觉千万不要睡,那一天精神就够了。 
   
  不过失眠的人都挨过十二点,在床上翻来覆去睡不着,结果快天亮睡着了,到第二天下午都昏头昏脑,因此你会感觉失眠、睡眠不足,实际上是你没有经验。 
   
  (没想到睡眠也有这么高深的学问,我试了一下,果真如此。只在子时小睡了半小时,就起来一直到四点钟才睡,居然,六点钟就自己醒了!要是在平时,我一般是要睡到九、十点钟以后才能起来的。大家也可试试,觉得有效果就顶一下吧。) 
   
  睡眠与养生[转载] 
   
  一、睡眠的规则 
   
  战国时名医文挚对齐威王说:“我的养生之道把睡眠放在头等位置,人和动物只有睡眠才生长,睡眠帮助脾胃消化食物,所以,所以睡眠是养生的第一大补,人一个晚上不睡觉,其损失一百天也难以恢复。” 
   
  晚21点到凌晨5点为有效睡眠时间。人是动物,和植物同属于生物,白天(凌晨5点到晚上21点)活动产生能量,晚上(21点到凌晨5点)开始进行细胞分裂,把能量转化为新生的细胞,是人体细胞休养生息、推陈出新的时间,也是人随着地球旋转到背向太阳的一面。阴主静,是人睡眠的良辰,此时休息,才会有良好的身体和精神状态。这和睡觉多的婴儿长得胖、长得快,而爱闹觉的孩子发育不良是一样的道理。 
   
  睡觉是养生的一大功能,养就是用大量的健康细胞去取代腐败的细胞,如一夜睡不着就换不了新细胞。如果说白天消亡一百万个细胞,一晚上只补回来五十万个细胞,这时你的身体就会出现亏空,时间长了,人就糠了,像糠萝卜似的。为什么世上有百岁老人呢?因为他们每晚都在21点钟准时睡觉。 
   
  植物吸收阳光的能量,夜里生长,所以夜晚在农村的庄稼地里可听到拔节的声音。人类和植物同属于生物,细胞分裂的时间段大致相同,错过夜里睡觉的良辰,细胞的新生远赶不上消亡,人就会过早的衰老或患病,人要顺其自然,就应跟着太阳走,即天醒我醒,天睡我睡。人在太阳面前小如微尘,“与太阳对着干”是愚蠢的选择,迟早会被太阳巨大的引力催垮。这是客观真理。 
   
  现实生活中,不少人有入睡难,睡眠质量不高的毛病。睡眠不好是一个综合性的问题,如肝火过盛,睡觉警觉;胃火过剩,睡觉不安;肝阴不足,睡觉劳累。 
   
  二、睡眠与疾病 
   
  现代的生活习惯和生活方式给人们的身体带来了很多负面影响形成“四大病”:水果病、冰箱病、电视电脑病、熬夜病。肝脏有一特点:卧则回血,坐立向外供血。 
   
  子时(23:00—1:00),其实23点就是新的一天的开始,并不是0点开始的,这是我们犯的误识。肝胆相表里,互为一家,23点胆经开了,如若不睡,大伤胆气,由于十一脏腑皆取决于胆也,胆气一虚,全身脏腑功能下降,代谢力、免疫力纷纷下降,人体机能大大降低,胆气支持中枢神经,胆气受伤易患各种精神疾病,比如抑郁症、精神分裂症、强迫症、躁动症等。子时胆要更换胆汁,胆经渐旺人如不卧,胆汁更替不利,过浓而结晶成石,久之即得胆结石,如果把胆给摘了,一摘就胆怯了,全身的免疫力下降了50%以上,所以不能摘,要用它本系统的巨大潜能把它化掉。 
   
  丑时肝经最旺,丑时(1:00—3:00)不眠,肝无法解除掉有毒之物,产生新鲜血液,因藏血不利,面呈青色,久之易患各类肝病,现在有些人肝不太好,特别在欧洲平均4个人就有一个大三阳或是小三阳,大都是因为违反自然规律过了子时不睡觉造成的。甲肝比较好治,乙肝就很难治。乙肝病毒携带者,是由于晚上经常不睡觉,人太虚弱了,也就是说秩序太乱了,病毒已经到了细胞里了。也就是说乙肝的病毒已经到了细胞里面,但是现在它还没有能力造成肝炎,当人身体处于最薄弱的时候就形成成肝炎,乙型肝炎就意味着将来40%——60%的肝硬化。聪明的人是应该了解天、地、人之间的关系,不聪明的人就是应该被淘汰的人。 
   
  肝主疏泄,过子时不睡,可引起肝疏泄不利,肝气郁结,可见易怒,头痛头晕,眼红,眼痛,耳鸣,耳聋,胸肋胀痛,女性月经不调,便秘,也可引起肝气升发不足,人会目倦神疲,腰膝酸软,晕眩,失眠,惊悸,精神恍惚,重则会晕倒在大街上,不省人事。 
   
  肝有藏血、调节血液的功能,过子时不睡,会造成肝血不足,还会引起吐血、流鼻血、皮下出血、牙龈出血、眼底出血、耳出血等出血证状。 
   
  肝开窍于目,过子时不睡,易引起肝虚,则出现视力模糊、老花、夜盲、畏光、迎风流泪,等症状,还会形成青光眼、白内障、眼底动脉硬化、视网膜病变等眼疾。 
   
  肝主筋,其华在爪,过子时不睡觉,会引起肝血不足,就出现筋痛,麻木,屈伸困难,痉挛抽搐,易造成灰指甲,缺钙,髌骨软化,癫痫病,骨质疏松等症。 
   
  肝与心,过子时不睡觉,可引起肝血不足,由于心主一身之血脉,肝有储藏和调节血液的功能,会造成心脏供血不足,引起心慌、心颤等症状,严重的形成心脏病、高血压等心脑血管疾病。 
   
  肝与脾,过子时不睡觉,会引起肝胃不和,由于肝助脾胃消化,由于肝气太虚不能助脾胃消化,使人脾胃消化功能不好,表现为舌苔厚,长期以来会造成中气塌陷。 
   
  肝与肺,过子时不睡觉,无法滋阴潜阳,肝阴亏损,引起肝火过盛灼肺,出现干咳、或咳嗽、咳痰血等木火刑金的证状,易导致牛皮癣等各种皮肤病。 
   
  肝与肾,过子时不睡觉,肝虚导致肾亏,由于肝肾同源,容易造成生殖系统疾病、不育、骨病、牙病、脱发、糖尿病、肾衰竭等疾病。 
   
  三、睡眠的方法 
   
  交通规则——你不懂就容易出事故。比如说,23点至凌晨3点为子丑时,胆肝经最活跃的时候,肝胆要回血,“躺下去回血,站起来供血”。如果你每晚22点钟左右躺下,静静得不要说话,到23点的时候,也就睡着了。肝胆开始回血,把有毒的血过滤掉,产生新鲜的血液,到一百岁也没有胆结石,也没有肝炎、囊肿一类的病。如果你天天熬夜到1点多,肝回不了血,有毒的血排不掉,新鲜的血生不成,胆又无法换胆汁,所以这些人容易得胆结石、囊肿、大三阳、小三阳各种病症。 
   
  在欧洲地区,平均四个人就有一个肝炎病毒携带者,这就叫不懂规则。睡前半小时最好不要讲话,睡觉的时候更不要说话,如一说话,肺经动,然后心经又动,(因为心肺共为上焦)人就容易进入兴奋状态,所以就很难入睡。 
   
  21:00—23:00为亥时。亥时三焦经旺,三焦通百脉。亥时入眠,百脉皆得濡养,故百岁老人得共同特点即21:00(亥时)之前入睡。女性若想长久的保持容颜娇好,应做到早睡早期。 
   
  睡觉要关窗,不能开风扇、不能开空调,人生病很多都与此有关,因为人在睡眠之中,气血流通缓慢,体温下降,人体会在表面形成一种阳气层,这种阳气层它使人叫“鬼魅不侵”,什么意思呢,阳气足的人,不做恶梦,就是这种阳气,占了上风。开空调,开风扇,情况就不一样了,开窗户,窗户走的是风,风入的是筋,如果开空调,也有风,风入筋,寒入骨,早上起来,身上发黄,脸发黄,脖子后面那条筋发硬,骨节酸痛,甚至有人就开始发烧,这就是风和寒侵入到了筋和骨头里的缘故,这也就是气受伤了。如果说晚上睡觉不开窗,不开空调,不开风扇,连房门也关上,效果最好,如果热,把房门打开,把窗户关上,效果就差了一点,但是他不至于第二天早上起来浑身乏力,后背僵硬。 
   
  有人把客厅的空调开开了,把卧室的门打开,和直接开空调睡觉是差不多的,开了空调以后,空调那个寒进了骨了,所以心里发冷,心在哪,心在脑髓,脑为髓之海,骨髓里有寒,那肯定心里就寒了,怎么办,补肾阳、补中气,什么时候补到心里不冷,烧就退了,寒走出去了。 
   
  睡觉要尽量早睡,睡得晚,伤了少阳之气,必然第二天是疲倦无力,要关上窗户,不开空调、电扇,保护阳气。 
   
  肝胆在下焦,如果胃出现问题的时候,他就会出现寝睡不安,一个是胃寒,如果这个人胃阳本来就不足,过多的喝绿茶,就会出现胃寒,胃寒的时候人是睡不好觉的,或者吃带泥沙之物过多,胃隐隐作寒,肯定是睡不好; 
   
  再一个是胃热,就是热气往上走,嘴里喘的都是热气,像这种情况也睡不好觉;再一个是胃燥,口干舌燥,胃里感觉到燥; 
   
  还有一个就是胃厚,气味的味,胃厚,这种情况就是吃了这种厚腻的味道,有人吃海鲜、吃鱼、吃炖鸡,味道好鲜美,吃多了,美味不可多用,这些东西在里面要稀释它,不稀释它,它在里面味太厚了,所以这个也睡不好觉; 
   
  再一个腹涨,腹是涨鼓鼓的,也睡不着,翻来覆去也睡不着;再一个是胃气太虚,冒冷汗,这也睡不好觉,这些原因都可能形成胃不宁,胃不宁就睡不好。 
   
  睡觉时要肢暖,四肢要暖,因为四肢是阳之本,这个大家都知道了,四肢不暖,肯定是肾阳不足,应该在睡觉之前把手脚捂暖,手脚和肚脐、背后的命门都要盖好。 
   
  睡眠法因人而异,下面介绍3种做法: 
   
  1、睡觉前简单的压腿,然后在床上自然盘坐,两手重叠放于腿上,自然呼吸,感觉全身毛孔随呼吸一张一合,若能流泪打哈欠效果最佳,到了想睡觉时倒下便睡 
   
  2、仰卧,自然呼吸,感觉呼吸像春风,先融化大脚趾,然后是其他脚趾,接着脚、小腿、大腿逐渐融化。如还未醒着,再从头做。 
   
  3、入睡快的人可右侧卧,右手掌托右耳。右掌心为火,耳为水,二者形成水火即济,在人体中形成心肾相交。久之,养心滋肾。 
   
  睡眠一定要早起,即使在冬天,也不可超过6点起床,春夏秋季尽量在5点之前起床,因为人在寅时(3点—5点)肺经旺的时候起床,能够使肺气得以舒展,以顺应阳气的舒长,来完成新陈代谢,肃降浊气,使肺气清,这样有助于养肺和顺应太阳的天势升起人体阳气,使人一天阳气充足,否则,就好像发动机,过了这段好时机就很难发动人体阳气,人体阳气淤积在人体下部不能由命门向上发动升起,会形成淫气,严重损害人的身心健康。 
   
  早晨5点至7点是人体大肠经最旺的时候,人体需要把代谢的浊物排出体外,此时如果不起床,大肠得不到充分活动,无法很好的完成排浊功能,使浊物停留而形成毒素,危害人体血液和脏腑百骸。早晨7点到9点人体胃经最旺,9点到11点人体脾经最旺,这时人的消化吸收运化的能力最好,如果这时还不起床,人体胃酸会严重腐蚀胃粘膜,人体在最佳吸收营养时间得不到营养,长期以来会患脾胃疾病,造成营养不良、中气塌陷。所以千万不要赖床,赖床会造成头昏、疲惫不堪、睡眠不足的感觉,而应按时起床,历史上许多伟人都是有三四点钟起床的习惯,比如华盛顿、拿破仑、康熙皇帝、曾国藩等。另外早起能增加工作效益,俗话说:“三天早起,一天工”。 
   
  现代医学证明,早睡早起的人精神压力较小,不易患精神类疾病。早晨不要太早出去锻炼,因为早晨在太阳没有出来之前,地下道的漳气、浊气正往上走(尤其是城市),这些气对人体损伤是很严重的。 
   
  养身三大事,一睡眠,二便利,三饮食,其余起居、服装等皆是辅助。 
   
  三事中睡眠第一。然胃纳不和者,夜眠不安,故以通便利为第二。而饮食无节,饥饱过度者,肠胃必受伤,而营养日减。睡以安神为主,神以心安为主,应配合年龄,壮年至多七小时至八小时,多睡则智昏头晕眼红胀,四肢疲软,童年必睡足八小时,或过九小时勿碍,老或病人至多六小时已足。 
   
  应注意: 
   
  (一)睡眠宜早,勿过十时,老年人以八点为正,勿过九点。凡交十一时,为阳生时,属肾,此时失眠,肾水必亏,心肾相连,水亏则火旺,最易伤神。千万勿以安眠药片助睡。 
   
  (二)枕上切忌思索计算未来事,睡时宜一切不思,鼻息调匀,自己静听其气,由粗而细,由细而微细而息。视此身如无物,或如糖入于水,化为乌有,自然睡着。 
   
  (三)如有思想,不能安着,切勿在枕上转侧思虑,此最耗神,可坐起一时再睡。 
   
  (四)如在午时,即上午十一点至一点,为阴生之时,属心,此时如不能睡,可静坐一刻钟,闭目养神,则心气强。凡有心脏病者切宜注意,每日于此二时注意,则元气日强,无心跳腹泄或小便频速之病。 
   
  (五)夏日起宜早,冬日起宜迟。居北方宜防寒气,如在粤桂等省,早起防山岚瘴气中病。食后勿仰天睡,早起如在寅时三点至五点,此时切忌郁怒,必损肺伤肝,万望注意。
posted @ 2010-02-23 11:02 life02 阅读(149) | 评论 (0)编辑 收藏

开始之前务必记住:

  黄金法则:80/20---你要承担起80%的谈话而面试官只会说20%。

  白金法则:你必须试着控制面试的节奏和话题。

  钻石法则:对于没有把握的问题,抛回给面试官。

  1.在一分钟内介绍一下你自己

  这似乎是必答题。不要以为这很容易。如果你用一分钟来重复你的简历,恭喜你,你的印象加分没有了!建议你最多用二十秒钟介绍自己的姓名、学校、专业。然后话锋一转,引出自己的优势或强项。一定要在最短时间内激发起面试官对你的好感,或者至少是兴趣。

  成功的模式可以是:我叫XXX,英文名字XXX,XX省XX市人,今年6月将从XX学校XX专业本科(专科)毕业。除了简历上您看到的介绍,我愿意特别说一下我在XXX方面的特长/我最大的特点是……(给出事例)。正是基于对自己这方面的自信,使我有勇气来应聘贵公司的XXX这一职位。(看表)一分钟到了,希望我没有超时。(很阳光的微笑)

  如果面试官不是EQ太低,你的最后一句话应该会使他放松和微笑。资历嫩一点的还会接着问:“为什么你会这么认为呢?”如果他真的这么问你,Bingo!你完全有机会操纵这次面试!

  2.应届生经常会被问到的一个问题是:你为什么会选择你目前学习的专业呢?千万当心,这个问题的目的是考察你的DecisionQuality这一项胜任力,所以不要简单的说“感兴趣”或者“就业前景乐观”等。给大家一个成功的范例(同样适用于诸如‘您所做过的一个成功/最大的决定是什么”):

  问:张先生,您为什么会选择财务专业呢?

  答:的确,财务已经连续多年成为高校热门专业,这造成了就业时无可避免的激烈竞争。可当初我选择财务专业时并不是单纯因为它的热门程度。我早就把就业目标锁定在苏州工业园区的外资企业。根据我高三时搜集到的统计资料,园区当时有外企XXX家,而且每年以XXX%的速度在增加。以每个公司财务部至少5个人计算(总账,应收应付,税务,出纳再加上一个经理),加上园区的平均离职率是15%,则在我毕业时,可以有XXX个空缺。我毕业那年应该全国有XX相关专业的毕业生。其中可能有10%会瞄准苏州,而我填报的苏州大学在当地口碑尚可,属于中等偏上。那么,有1/2的对手能被我淘汰。再加上我就在苏州本地学习,四年中可以更早的寻求机会,所以,我很有信心的选择了这个专业。

  其实,没有哪个面试官会相信你真的作过如此缜密的调查分析,但你已经展示了你做决策时的思路,所以可以加分。

  记住:所有的回答要符合你专业的特点。不要说得太到位,可以自圆其说就行了,不然,他们会觉得你要么太虚伪,要么太狂妄。还有,应该表示对自己的专业的确感兴趣,或者增加点戏剧效果:我本来理解的财务管理就是管账,所以开始的时候还真后悔了一阵,直到大三时开始了在企业的实践,才有了改观,并真正喜欢上了我的专业。这样显得真实可信,更重要的是,很自然的由你引导到准备好的问题:实习的收获。

  3.为了考察您LearningontheFly这一条胜任力,通常我们会问您在实习期间的收获。此时,不要夸大自己的成绩,谦虚一点。还有,不妨说一下自己的失误(不用怕,毕竟你是在实习)。记住:详细说明当时的情况(Situation),你要达到的目的(Task),你采取了哪些步骤(Actions),事情的结果(Result),还有你得到的经验教训(Lessonlearned)以及后来怎样运用到工作中避免犯类似的错误。最后做出总结:原来书本上的知识要能够在工作中熟练运用,这期间还有很长的一段路要走。还可以说:回到学校后,我对自己的实习经历作了一番总结,发现自己在XXX方面还需要加强。所以,我很注意利用大学的最后一个学期来弥补这一不足。现在,我对自己很有信心,如果时间能够倒流,我相信我能做到更好。

  4.你有过和别人合作的经历吗?(千万要回答“有”)那么,在这过程中,你是如何处理意见分歧的呢?现在是考察你的ConflictsManagement。现在的绝大部分企业都不欣赏没有原则的老好人。所以,你要把自己包装得强势一些。

  我本人比较满意的回答:

  每个人在团队中都应该可以自由坦诚地发表意见,我会非常认真的聆听,分析;但对于自己的意见我不会没有原则的轻易放弃。民主过后还需要集中。我是学校英语俱乐部的主席,在组织校际年度联欢时,有两个干事的意见和我不一致。(停顿一下,让面试官记住你的这个闪光点)我和他们开了会。大家都阐述了各自的理由。很遗憾,我仍然没有说服这两人。在这种情况下,我感谢他们的积极参与,但表示仍然会采用我的方案。我的理念是:Meeting不等于Voting,完全不需要少数服从多数;我是负责人,我相信自己有能力采取最佳方案;假如失败了,我也会承担主要责任。而如果我是团队的普通一员,我会保留自己的意见,但还是认真执行管理者已经做出的决策。当然,学校毕竟不同于公司,情况会更加复杂,但我坚信,只要遵循“对事不对人”的原则,任何问题都可以得到解决。

  在回答时,一定要眼睛看着面试官,微笑,以冲淡你的咄咄逼人。

  如果你实在没有把握,可以把问题抛还给面试官,试举一例(还是同样的问题):

  问:你是如何处理意见分歧的呢?

  答:您问的恰好也是我最困惑的一点,而学校里老师从来不给我们这样的指点。一方面,我不想做没有原则的老好人,另一方面,大家都是朝夕相处的同学,我不想让他们觉得我盛气凌人。我当时是这样做的:……可一直到现在,我都不知道是否作的正确,也许我可以从您那里得到一些指教,您说我当时这么做有问题吗?

  如果对方马上对你言传身教,那他铁定是菜鸟,你不用紧张了,因为,合理的反应应该是不置可否的说:其实这个问题永远不会有标准答案。

  5.有人问起多个问题同时出现时,应该如何解决。这就是PrioritySetting的胜任力。应对思路是把所有要处理的事情按轻重缓急分成4个象限:重要而且紧急;重要但不紧急;不重要但紧急;不重要也不紧急。但记住,不要直接叙述这个思路,这会让人觉得你不像应届生。还是通过举例说明比较好。我面试过的一个比较好的例子:我在大三时正好要复习准备英语6级考试,这时有机会可以去一家企业做兼职部门助理,但需要每周花三个半天。同时,每月一次的英语沙龙活动要组织安排,还要(不好意思地说)抽空陪陪女朋友(最后一点很重要,可以活跃气氛,还为下面制造了一个不重要不紧急的事例)。我当时利用没有课程的下午去公司工作,一般要到5点半回学校。在公车上的30分钟正好用来总结当天在公司的收获和需要了解的知识。在食堂与女朋友吃晚饭,六点半去教室自习,到十点回宿舍。英语沙龙的工作委派给大二的两个干事,他们每天会到自习教室找我谈10分钟,我会给他们一些建议。这样,我没有花太多的精力在沙龙活动上,可对整个过程都有了解和掌控。后来6级考试顺利通过,那家公司对我的工作评价很高,我也学了很多东西;英语沙龙的活动如期举行,我和女朋友也没有疏远。

  这同时展示了三条胜任力:prioritysetting;delegation和work/lifebalance

  作为应届生,在面试前,应该了解一下外企的部门架构。以欧美企业为例,一般部门内的职位从低到高依次为:助理(如果是本科生,有时候可以跳过)---专员---资深专员---主管---资深主管---部门副经理/SectionManager---部门经理。一般,主管要求有5年以上的相关工作经验,这是一个分水岭。好,回过来谈谈面试时如何回答关于职业生涯规划问题。其实,这种问题并不需要你回答得无懈可击,这也办不到---你说得通俗了,认为你胸无大志;回答太专业了,又觉得你好高鹜远.

  回答这类问题,有以下几点可以帮你加分:

  1.设定一个与自己专业相关的长远目标;这个目标要和公司的工作有关但不要局限在企业内部(因为空间有限,会遭遇许多太过于细节的问题)。例如,HR专业的学生可以说,自己的目标是在35岁之前,也就是10年内,成为一名优秀的人才测评专家或者资深企业人力资源顾问;工程技术专业的学生,可以成为精益生产专家或者黑带大师;IT专业则可以在信息资源整合和ERP解决方案方面成为专家,等等。注意,要着重在你想做些什么,而不是你想爬到什么级别。

  2.把这个目标分解,以1年,3年,5年,10年的进度,逐步推进。这个就要靠你自己编了,恕在下不能一一举例。记住,每个阶段都要说明你能为公司做出怎样的贡献,你能得到怎样的提高,这与你长远目标的关系在哪里。此时,可以适当联系到刚刚提到的部门架构。

  3.在此过程中,除了自己想办法不断充电,还要说一下你希望公司可以给你怎样的帮助。比如能够有岗位轮换的机会;或者能够参与各种项目等。不要提希望公司会给你培训,送你出国,给你报销学费,要表现得自己希望在实践中成长。

  4.强调自己的稳定的心态。你可以这样说:“中国人最讲究‘名正言顺’或者‘不在其位,不谋其职’,所以很多人都认为,只有给了主管的职位,才能运用主管的权利,发挥主管的作用。我的理念和别人不同,我认为恰恰相反,当你展示出了主管该具有的能力,能完成更多的工作,公司自然会考虑对你的职位进行调整。在没有足够的权力时,要使用自己的影响力,所以我鄙视那些成天想着晋升却没有任何建树的人。”这样子,你的自我包装就成功了一大半。

  5.最后要注意,在回答类似问题时,不要显得太胸有成竹。偶尔显示出涉世未深可以让面试官觉得你还有学生的单纯。“这个问题很大,我在学校里也曾经断断续续的考虑过,现在我简单的讲一下,可能会显得一厢情愿,希望得到您的指教”这样的一个缓冲在许多时候很管用哦。(还记得钻石法则吗?)

  最后想提一下面试的肢体语言。我面试过的应届生应该没有1000也有800了吧。我发现几乎90%的人在入座后都采用一种非常闭合的姿势,很拘谨。这不能说是坏事,但的确会让面试开始的破冰显得艰难。现在,闭上眼睛,想象一对亲密情侣在烛光下甜蜜交谈,他们的姿势应该是几乎一样的;你们平时和好朋友促膝长谈,相信采用的也是相同的姿势;电视上的国家元首交谈时,绝大多数情况两人的姿势也相同或接近。这是因为:两个人如果在交谈过程中采用同一种姿势,则双方在潜意识中会有彼此认同的感觉。我们把这样的姿势一致称为Rapport。我本人非常注重采用Rapport来增进沟通效果(特别是,如果有人盛气凌人的叉腰对我说话,不论他的职位高低,我也会叉腰和他说话---输人不输阵:))

  还有,面试时,手势的运用很重要。特别是回答较大的问题时,用手虚拟的在桌面上列出1,2,3,这样会让人觉得你很有条理,而且不会显得很稚嫩。而说到我会怎样怎样时,把手掌放在心口,真的有强化的效果。
posted @ 2009-11-27 21:14 life02 阅读(395) | 评论 (0)编辑 收藏

 
posted @ 2009-11-04 20:05 life02 阅读(82) | 评论 (0)编辑 收藏

这种面试形式相信很多同学经历过,就是5-12个人一组,给你们一个题目,给几分钟时间思考,然后发表各自意见,再进行小组自由讨论,要求最后达成一致意见,最后选出一个代表进行总结陈词,每个人再对自己刚才的表现作一下总结。

 

这类面试只要掌握好技巧,应该其实比较好过。首先要理解:这种面试形式考查的目的是什么?实际上,这类面试考查的无法就是一点:你的团队合作能力。理解了这一点,剩下的问题就好办了。个人感觉,参加这类面试,一定要注意以下方面:

 

1不要过分表现自己,表现最多的那个人一定首先被淘汰。道理很简单:既然考查的是团队合作能力,那么,集体利益显然是最重要的,如果你总是抢着表现自己,那只能说明,你把自身利益放到了集体利益之前,集体观念淡薄,肯定会被第一个淘汰。当然,也有例外,但那绝对是极少数。大家可以仔细回味一下。

 

2说话不要太多,但也不能太少,太少了就不会给考官留下深刻印象。要注意掌握小组的发展动向,在最关键的时刻,说出最有分量的话,简言之,要么不说,要说就要选在最该你说的时候说。例如:当小组意见分歧严重,时间所剩不多时,你可以试着提出一个缓解矛盾的折衷方案;或者当大家讨论的问题偏离主题的时候,你可以及时提醒大家;或者当你发现其他人的意见忽略了某些重要方面时,可以及时提出来。具体的请参考后面的成功案例。

 

3要多与你旁边的人交流,多交换意见。团队合作离不开交流,多跟他们交流,交换意见,会对你个人有很大启发,也会对小组达到统一意见起到重要作用。当然,这一切考官都看在眼里:)

 

4、考虑问题和说话时,要把集体利益放到第一位,一切都要服从集体目标。要多说"我们小组...",少说"..."要多向你旁边的人或团队核心成员提意见,让他代你说。

 

5、总结时,要首先肯定、强调其他每个成员在团队的这次任务中的作用,向他们表示感谢,再说自己为团队作出的贡献,并要看到自己的不足。

 

以下以具体的安全来说明面试细节。首先是成功案例。

 

1、  华为

 

华为的一面采用的就是这种形式,据说这个环节淘汰率是相当高的。

 

题目:12个人,分成2组,给出14种职业,给每个组20分钟时间讨论,要求达到统一意见,对这14种职业,按照其重要程度排序;然后每个组选出一位代表,陈述小组讨论结果及理由;接下来进入自由辩论阶段,两组互相PK;最后,每个人选出一个自己认为刚才表现最出色的人,并说明理由。

 

1)  小组讨论

 

在这个环节里,有一个南大学生表现得很冒尖,当时就知道他肯定挂了(后来得到了印证)。经过20分钟,大家达成了统一意见。

 

2)  陈述

他们选我来陈述小组意见,当时想倒霉了,结果后来面试官指定另一个人作陈述(心中窃喜)。后来他也挂了。

 

3)  辩论

 

对方开始对我们的排序结果进行质疑。主要质疑的是,为什么我们把水产养殖人员和印章刻字人员排那么靠钱。我想到质疑他们把娱乐场所健身人员排到保育人员前面,

 

告诉那个比较冒尖的人,让他说(心想,他反正那么想表现,就让他说吧)。

 

在整个辩论过程中,基本都是南大那个人在抢着说,跟对方辩论,我们组其他人都没插上话,后来是面试官指定我们组其他人说,结果,对方的质疑他们都顶不住了。最后,面试官看我从头到尾都没说话,让我说,我就举出北京当时吃海鲜吃死人的例子和刻假章的例子,对他们进行了反驳,瞬间扭转局势。语气略带调侃,面试官也跟着乐了。

 

4)  总结

 

最后,让每个人选出刚才表现最出色的人。很多人都选我,但最后我没有选自己,而是选了我旁边那个人,原因是"他沟通做的比较好"

 

相信我最后一句话给面试官留下了深刻的印象,因为他又笑着重复了一遍。当时面完,我就知道:我肯定进下一轮,南大那个肯定被淘汰(结果果然不出所料)

 

2、  阳光财险

 

采用的是无领导小组讨论形势,即:给定一个话题,小组成员在30分钟内进行自由讨论,最后选出一个人来作总结,期间面试官不给任何提示,不作任何干预。

 

我们的题目是:假设你们是北京市政府工人人员,08年奥运将至,对于北京的一些外来务工人员及流动人员,应该如何安置?是否应把他们遣散回家?

 

小组一共12个人,一半天大一半南大的。整个讨论过程比较乏味,因为大部分人都在抢着说话,希望多赢得表现机会。我只说了两段话,一个是在开头,一个是在结尾。开头时,我只说了几句:面对这个问题,我觉得大家应该考虑xxxx...方面,请大家提出补充意见。结尾时,我也只说了几句:大家讨论了这么久,都忽略了一个很重要的方面...最后的总结不是我做的,整个过程我只说了这几句话,但后来我还是进入了下一轮。另外,我们组作总结的那个人过了,还有我的朋友,他最后对总结的那个人作了点补充。

 

3、  国家外汇储备管理局中央外汇业务中心

 

一面采用的是这种形式,小组5个人,给定一个题目,10分钟时间看,1分钟时间陈述自己观点,20分钟时间讨论,最后选一个人用3分钟对小组讨论结果进行描述,其他人用2分钟对自己刚才的表现作总结。我们的题目是:假设唐僧四人再次西天取经,但因为资金不足,必须淘汰一人,请问应该淘汰谁?并说出理由。

 

我们组的意见完全一致:淘汰猪八戒。所以,讨论环节变得很轻松,大家的任务变成了,找出为什么淘汰八戒而保留其他人的理由。具体过程不多说了。我最突出的表现是在最后。

 

最后,每个人轮流对自己刚才的表现作总结,前四个人都说了自己刚才对整体起到什么作用,最后到我说时,我的原话是:

 

"刚才通过我们小组的努力,最后出色的完成了任务,在这个过程中,其他几位同学都起到了重要作用,例如:1号同学...3...4...5...。另外我想说的是,我们在讨论的题目跟我们刚才做的说明了同一个道理,就是:在一个团队中,一定要明确自己的定位,找到自身的角色,否则就会像猪八戒那样因为定位不明确而被淘汰。我刚才在团队中的角色主要是沟通和串联的作用。表现不足的地方就是,很抱歉,刚才忘了帮大家掐时间。"

 

下面是失败案例。

 

联想:给小组一个鸡蛋,一些吸管和胶带,请小组在20分钟时间内想出一个办法,利用这些资源,让鸡蛋从2米的高空掉下来,而不碎。最后选出一个人作演示和总结,并请每一个人对自己刚才的表现作总结。

 

我们组最后成功的完成了任务,并由我来作演示。可惜最后,我们的方案被HR批评了,说我们用光了所有的胶带和吸管,不懂得节约手上的资源。

 

最后的结果:我们组被整组淘汰。

 

教训总结:个人利益和集体利益是息息相关的,如果整体的方案失败了,那么个人的成功也无从谈起。

 

下一篇请关注面试之非技术面试篇。

posted @ 2009-11-01 22:31 life02 阅读(334) | 评论 (0)编辑 收藏

我尽量地把整个过程完整地重现出来吧,虽然很多地方已经记得不太清楚了
! b  K$ ~7 ~) M. |' N) ?3 c阿里巴巴B2B,这个是什么公司?其实我没多大感觉
# Q: y; m3 {4 x( ]$ X) d我只知道昨天早上被班上的女生拉去陪她笔试,在华工五山校区34号楼102- U/ B# E8 |% k$ |$ y
晚上的时候,永跃拉我去中大的大学城校区笔试阿里巴巴的研究院: H( \4 ^3 z$ d* i% E1 p, o& h
然后当晚就收到了阿里巴巴B2B的面试通知,让我第二天带简历,成绩单,笔过去面试
+ z* D; M! {: y: t* [/ f+ K时间是1200,对,就是中午12点,怪吧,地点在华工五山校区逸夫人文馆的1楼中厅
3 N0 Y7 j" C2 \; [3 P+ Y同时收到网易邮箱的面试通知,在网易大厦,时间是早上900,好在没有冲突
3 B* o) ]8 t% h1 z) G早上一大早就起床,然后刷牙刷到一半的时候,又接到一个电话,是阿里巴巴研究院的
; I; ~) C: w/ r  U7 \汗,居然1400在中山大学面试,一直没面试,一来就来三个,XX# Z; Q4 z& e, V
+ [! L! t6 ]9 j7 u2 H9 Y
, R2 r& k+ y7 P, Y

/ P5 W8 I0 S8 Z" _0 b赶到网易,好多人穿着西装在等,汗,貌似就我一个不是穿西装的了...7 W1 \8 @- e9 c
没多久就开始面试了,可是等到10点多都没人叫我,于是我去前台问了一下/ j  |& N1 D8 r8 C* Z5 [% J5 A$ x
发现,面试时间居然是29日上午9...我早了一天过来...9 ?4 L( ~6 L. I0 F
接着搭2线赶往华工五山校区,去到阿里巴巴B2B的面试地点/ Y- `. u: ?, d% j
工作人员马上让我们填一份表,然后说让我先去吃饭
) l5 H, L8 P" {2 g! j  x' Y我跟他们说2点还有研究院的面试,能不能让我先面,我晚点吃也无所谓的" T5 K% e$ ~$ ?6 k
一个工作人员就说把我的顺序调到下一个,再过了5分钟左右,就被叫去面试了,果然神速
  w& P! l- _. v: U! N" }9 Z% v& Z$ {7 Y/ ?% G

9 w. p- w! C6 v  r* k8 N: q4 L, d2 f, J
走到面试官的台前,他主动地和我握了手,然后就开始看我填的那份表
8 J3 ]" w& m; e5 i* C5 c突然就说:“哇,你是搞ACM的啊?拿了不少奖哦,我们公司内部也搞ACM比赛的。”5 j" I, z( m6 E6 i
我说:“呵呵,ACM的确很好,比较能够锻炼团队精神。”8 }6 _. i# C" m% q( V
“是吗?我们公司打比赛都是靠个人的,哪个人牛,一个人就可以搞定全部。”4 U  q& E' ?* C  Y9 ]
心里有点汗...继续说“可能比赛的对象不同吧,我们都是大一才开始接触编程的,可是我们的对手中,很大一部分人都已经搞了6-7年的算法了,不配合的话,一个人再强,也是强不过一个团队的!”
  F/ `& r# a( h7 n这时,他翻开我昨天笔试的题目,看了下我最后两个问答题的答案,这里放题目出来给大家看看:% p5 q; r9 j6 K% v' z  d$ J
1.如果你有一个网站,连接着几台服务器,怎么去写一个自动测试的程序去检测每一台服务器或者相关网络设备是否出现问题,且必须是无论你在任何地方,任何时间,你都可以第一时间知道?
- R4 S$ o- [. c0 I% t/ Y4 ]' c9 U! W我的答案:使用一台主机连接外网,每隔一个很小的时间片就去主动地连接每一台服务器,如果在一段时间内,某个服务器一直都无法连接,则证明它出现了故障,这时就主动地提醒管理员
9 x. k3 X. h6 h& y1 X& G2.假如有三台服务器,其中一台突然出现了崩溃,这时你要怎么办?9 t$ ^/ Y, E7 Y; X# b- h
我的答案:先检查连接数,看是否存在黑客攻击,然后检查是否有内存泄露,(剩下的就不写出来了)
+ \0 N% b9 U6 A  q5 N. N$ h" R+ Z& ?' p3 B: m# M5 P" G
然后突然说:“第一题那个,你的想法是好的,可是我们一般不是用这种方法,你想想,如果你有几百台服务器,你一个个地去ping,是不太可能的,我们一般是这样,你需要监视哪些服务器,就让他们主动地来ping你,这样就OK了。”
; \! S4 a. y) Z  n* o5 \我说:“哦,原来是这样,XXX(省略N字)”,突然发现我好像不是来面试,而是来听课的...& V+ K) T. I# H9 z% z! C+ Y4 q
接着我说:“第二题那个,后来我想了一下,觉得应该先调用一台服务器来备份数据,然后再做链接检查吧。”, E- g/ r/ D6 k
他说:“不需要的,根本不需要备份,因为我们都假设服务器是对等的,对等的,你知道吧?(我点头),所以根本不需要备份任何数据,没了就没了。”
2 G1 M, N9 B1 y我惊讶地说:“那一些用户的重要数据呢?这些也不需要管吗?”: K* ?: {3 {( X: j4 G% u* `
他回答说:“哦,这些数据都是和服务器分离的,那些怎么可能放在服务器上呢,要是那样的话,会很惨的。”# ?- ^% [8 l  E8 I) u5 z$ b6 `
我突然醒悟地点了点头
4 w3 c' x9 @7 C$ W
3 h0 v$ s. ?/ h  @
5 P* ?& o/ |9 Z5 Q' T$ g6 c

+ d2 P  c6 ~& d( X; o然后他就开始写对我的评价了,同时一边笑着说:“呃,你先做个自我介绍吧。”
! Z' s$ J! b5 N7 F这时我也笑了,居然说了这么久才开始自我介绍,呵呵,然后就balala地说了一通...
; N) l- G6 i# c7 r$ }4 s, _3 N* ~* b) d& Z
接着面试官就笑着问:“能不能说说你ACM主要搞了些什么?”
5 I; `& E/ @/ W, V' O- l$ ]9 w+ z我接着说:“各种都有吧,零零散散的,其实我觉得很多时候不需要拘泥于算法的本身,很多人和我说他学了什么算法什么算法,我觉得其实这些都不重要,最重要的应该是算法的那种思想,就拿dijk来说,有人说它是图论,也有的说是搜索,或者是动态规划,但我觉得,从另一个角度来说,你也可以说它是一种贪心啊,甚至说,大部分的动态规划,其实都是贪心的一种。很多东西,没有明显的界限的。”
( K- P/ x2 L6 h4 Q他好像很有感慨地点点头,然后继续问:“你觉得你会搞技术搞多少年?”% U* I( e( E7 b
我毫不犹豫地说:“十年吧,因为我不确定将来会不会转管理,刚才介绍也和你说了,我比较注重自己综合能力的发展,做过许多学生干部的工作,等我做了十年,达到高级工程师的时候,我真的不确定我会选择哪个方向,是做技术,还是管理。”
, M& Z* T; `  c7 R: [' D- ]% e他接着说:“其实做技术做到后面都肯定要转管理的。”
9 x8 [; h+ P. d% G$ S/ \7 B我问:“啊?不是管理和技术都分开,有不同的发展方向,我记得你们说都有一个等级的啊?”! I( o3 j' |. U- c
他说:“是的,但是你还是得去带领一个团队的,做管理的话,其实很多人与人之间的交流,那些需要看个人的能力,不过有时候,那些东西还是很烦人的。”# D+ @& Z$ }( Y! \
我深有感触地说:“的确,所以我也不确定以后会怎么样,但至少还是先搞好技术吧。”  @" `" T9 T1 L% F
(呃...面到这里,我突然感觉面试官有点眼熟...细看一下,发现原来就是我打开阿里巴巴校园招聘主页的一幅图片,下面一行文字写的是啥?与资深工程师一起成长...汗原来他就是阿里巴巴最资深的架构师之一的那个牛人...无限Orz0 B& O! n* F2 s7 H. w
3 o& ]# O, l) k3 Z, f: F
他突然诡异地笑了一下,然后好像很有兴致地看着我,说:“好啦!现在我开始问你问题了”
* ]* w8 w5 U6 }3 \/ k4 O/ K6 P我也马上回应了他一个笑容,心理面想:Orz,面试终于真正开始了...
% Z9 x+ E5 p$ q. X“你可以说说为什么析构函数是要定义为虚函数吗?”
; L3 M+ Q) E! i# |“因为这样才可以防止内存泄露,如果基类动态地开辟了内存的话,而析构函数不是虚的,那么派生类就无法自动执行基类的析构函数了,这样就会造成内存泄露,很可能会被黑客利用,不然也会直接导致系统崩溃。”+ H! ^* P# ?# K# N0 C. h1 s! {
他满意地点点头,而且明显感觉他对我答的速度有点惊讶...他继续问:“那你能不能和我说说什么是断言?使用断言又有什么好处呢?”  |- }/ E  {, |; ^
“在Debug版本中,断言一般用来检查传入的函数参数是否存在问题,例如传入指针,就可以用断言去检查指针是否为空,如果为空的话就中断程序,而且生成Release版本后,断言会被自动屏蔽的,非常地方便。”我再次脱口而出......看来在金山的确学了不少有用滴东西
. e/ Z; r- V# b6 x- k/ M他微笑地点点头,然后再次问到:“能不能和我说说智能指针是什么,它和指针有什么区别呢?”' G- Q2 O: {  m4 @: _' E" ^
我想了一下,说:“智能指针我以前用过,但记不太清了,但我知道其实智能指针和普通的指针没有太大区别的,不过智能指针限定了它指向的范围,好像是这样吧,真的不太记得了。”
1 F1 s- [* Q% V2 l他笑了笑,继续问:“那你给我说说,为什么不能在创建一个线程的时候,把指向类成员函数的指针传给它呢?”; J- C- A1 Y! S7 Q5 {% m: F7 v( V
...开始多线程了,越来越复杂,几乎全部都不会了,我很不好意思地说:“呃...这个我不太清楚,我也没有使用过C++写多线程,只用过Python,调用里面的Threading库,而且也没用多线程写过项目,只做过比较简单的练习...
& f' i  Y# B" ?) g4 V这时他看了看我的简历,然后突然恍然大悟地说:“哦!原来你是本科的啊!”" I* T! r5 e8 O' q: O
狂汗,原来之前他把我当成研究生了?!天啊!!我说:“嗯...是的,我只是本科生而已。”
7 H6 x/ O* R- Y; t  {! {: V; M
4 A8 t) a5 G  I% m; N5 q. L然后他问:“那么,你觉得你哪方面比较强呢?”
- g  \/ {( i: B我想了想,说:“算法和数据结构吧,毕竟大学主要都是搞这几个。”5 x) n& T. ?) Y! T
他说:“好吧,那我就问你算法的题目吧。”(囧阿囧,千万表问难题呀,我很菜的呀...
2 G2 f8 m* h, l- N6 k5 u他顿了顿,说:“问个图论的吧,两个点之前的最短路径很容易求,是吧?(我点点头)那么如果我要求第二短路径呢?而且是不能和最短路径有任何重复的地方的。着是”0 v8 I, [, o1 x3 `) E! I4 I3 ~  e
我陷入思考..., m" v: V9 N3 W: l" H0 y
他继续说:“没事,说说你的想法吧,你用什么方法求最短路径呢?”
( N- c$ d$ Z5 d) e我说:“dijk吧,这个问题我只想到一个比较简单的办法,但效率可能不是太高的。”. a3 E6 m$ G( r, D# z
他说:“没事,尽管说,没问题的。”
5 Y9 e* ~9 T; Q  X% o我说:“先求最短路径,然后把这个路径的边全部删掉,然后再求一次最短路径就可以了。”0 l9 G/ @' _% }$ p4 v
他突然说:“也只有这样啦!你还可以想到其他的方法吗?这样的就是最好嘛。”
5 m. {$ e# n# J% a# B" I7 g...我还以为要怎样...我说:“啊?!这样吗...没有更好的吗?我确定不了啊!”我耸了耸肩8 _- L% L  q* \7 d. W  {, x9 m
突然他问:“如果要你转语言,你怎么看?”
. d" }2 t' o: z& c/ N我说:“无所谓啊,我刚刚不是说了吗,我不会拘泥于具体的语言的,最重要的是思想。”1 z0 E" C; }5 x* o, J# k
他说:“有人会介意的。”8 Q) K, N4 m* U/ y
然后他继续说:“好,下一个问题,有一篇文章,我这里有n个关键字,要你在最短的时间内把所有关键字的位置全部找出来,你给我想一个算法吧。”" [+ B7 e2 I1 m! ^) W# F$ x) h
...这不就是腾讯笔试最后一题,说有很多种脏话,当别人打脏话出来的时候,就要把脏话去掉吗那题的变形么...刚刚等面试的时候一个中大的还和我讨论这题,我说用Trie树,还被他鄙视了,然后他说他也不知道怎么做...5555,这次囧大了. b) R0 r; M1 X- H5 ]: V

+ i0 c. g7 B# S我陷入沉思,他好像看我挺苦恼地样子,然后说:“不用怕,就说你的想法就可以了,这个在世界上都是比较难解决的题目来的,你可以随便说,都没有关系。”7 M" A9 s* f2 N' j* M8 m% ?- j
...既然这样,我就随便说吧:“呃...我想到的是用Trie树(他笑着点了点头,Orz,运气居然这么好?!),然后把所有的关键字输入进去,完成Trie树,然后每个节点代表一个字,且同时设一个bool来标志到此节点是否形成一个单词,若匹配,则返回该位置,若不匹配,则用类似KMP的方法,看不匹配的地方在哪里,然后在原文那里进行一次跳跃,而不是直接在下一个字那里重新开始匹配,从而提高效率,我只想到这样的了。”3 o/ H) Q* W* _) j6 N. a" V! L8 K4 Z: p
他满意的点了点头,然后说:“嗯,这样的方法不错(Orz,我就说嘛,肯定可以用Trie树的),可是你这是对于C++来说的,C++里面可以动态地创建内存,就是Trie树上的节点你可以一个一个地动态创建,而不会浪费内存,但如果是Java的话就不同了,它是一开始就分配好内存的,这样的话如果你使用Trie树,内存根本不够用,这样你要怎么办?”' D- i2 m1 \3 p' Y8 X
Orz,又是Java...我再次陷入苦恼之中...确实,一开始就分配好内存,这样再多空间都不够用的,神啊,快来打救我啊...为了争取多些时间,我说:“呃...我其实不会Java...”,然后他说:“没关系,我都已经把Java的弊端告诉你了,你直接告诉我这种情况下你要怎么做就可以了。”Orz...看来不能蒙混过关了...苦思冥想了一段时间,我马上缴械投降:“呃,这个我真的想不出了...”,让我以外的是,他马上把草稿纸拿了过来,然后一边画图一边和我说:“你看,这样使用一个双数组的形式,也是和Trie树差不多,一个一个地指下来(我靠!这不是AC自动机吗?!),这样就可以了,这种方法也会浪费一点内存,但是就很少”,顿了顿,他继续说:“你可以上网去搜一下datsd,a,t,sdats,关于这个问题有很多种解法。”我迅速地点了点头,面试官大人真的很有当老师的天分呀 Orz. Q' w5 z  V+ h9 I, w
# P6 E$ Q+ o* n5 g+ x! `& c7 S
“好吧,那我们进入下一个问题吧,假如有一百万个文件,每个文件内部的内容是有序的,现在我要你把他们合并成一个文件,内容也必须是有序的。要求是时间复杂度在O(n)以内。”
- t- [6 J! K4 c0 l  a...O(n),反复和他了解过题意之后,我再次陷入苦思,然后他又多次让我说说想法,不需要想太具体,最后我说我实在想不到O(n)的了,然后他又直接告诉了我答案:“你知道竞赛树吗?一开始,把所有文件中最小的那个数拿出来,然后用竞赛数的方式就可以确定最小的那个数是多少,然后就把他写入大的那个文件,然后这个数是哪个文件读进来的,就再次在那个文件中再读一次数,然后不断地“竞赛”就可以了,你能明白吗?”我想了想,然后说:“嗯,明白,可是你给的方法好像不是O(n)...每个数读出来已经用了 n 的时间了,然后“竞赛”一次就要 logn 的时间...”然后他彻底无语...1 p; ^$ j/ G/ t! k4 T

, W) A( a  v. {. g; q接着算法的问题就到此结束了,后来他又问了我关于软件工程、设计模式等方面的问题,然后差不多就说让我去等等了,1面就到这里结束,顺利晋级2 p! G6 n% F0 g/ n9 ]  W# P
这时我赶紧去搞个泡面吃,饿到胃都抽搐了...好不容易买个泡面,然后发现华工热水机坏了,只好厚着脸皮跑进一家咖啡厅,让一个MM帮我打热水,还好里面的MM都很热心,Orz回来的时候,一个HRMM问我刚刚去哪里了,找了我好久都没找到,然后看我拿着杯面,说:“啊?!你还没有吃饭啊?”我说:“呃...是啊,刚刚不是和你说我还得去你们的研究院那里面吗...我以为这里会很快面完,所以就...”,她用手贴着胸口,十分抱歉地对我说:“哦!对哦,我差点忘了,真的不好意思,你再等等吧,刚刚那个面试官在面另外一个人了,等会他们面完,我马上通知你,你赶紧先把面吃完,别饿坏了。”! ^/ O, q7 {, M$ A$ ?% h
XXXX(省略N字)
, a- S% |- \, I. }/ Y: i! |! A3 ?5 B9 e+ R3 R* `5 T: T( _
开始2面后,对方是一个胖胖的工程师,给我感觉听和蔼的,刚坐下就让我做自我介绍,呵呵,这次没有1面那么囧了,面到一半才自我介绍...2 ^/ D# w# A5 e! y! J
自我介绍完后,他说:“好!我们先写个程序,你知道字符串比较函数吗?”
2 R0 Q5 Y8 y/ K7 u6 Z4 Z) Q$ Y6 C! f我说:“是strcmp函数吗?”
% m% v, I% D; L# C, n& ^& z他说:“是的,就是这个,你可以写出来给我看吗?”/ C2 F2 k# |# F2 p( y
然后我就开始写了,写到一半,我说可以假设输入时字符串都非空吗?/ u( y; x/ x8 Z8 X; R8 |1 _
他马上说:“要考虑任何输入情况。”
3 D: F! ^. p/ y# |( n, y我点点头,接着写程序,strcmpso easy   ^: E! j9 }7 I
写完给他看,他说:“嗯,你的程序基本上正确,不过输入参数这里写错了。”
/ s, `* ~" ^" @3 j0 j# i我一看,巨汗,const char *a 居然被我写成 const *a ,连类型都没指定 Orz
/ U+ n7 X+ ?9 p我很不好意思地说:“哦,不好意思,一时比较紧张,连类型都忘了写了。”( D2 N8 {' E/ f6 Q
接着他开始问我在金山实习的一些情况,我和他说了第二个月在插件组实习9 j1 j  A0 D6 ^( h: I( \3 E
然后他问我写的插件是否有发布,我说有,随着WPS校园版一起发布的( S$ B; g% Y& N$ y  x  v
然后他满意地点点头,接着问关于金山给我offer事情0 [/ \) d0 k  m2 {" E3 W
我说,首先,我必须得对我的家人负责,金山的offer我不得不签; k/ M7 J% ?* x3 e. o
因为我没把握可以找到一个更好的单位,而且那个不是三方
3 g) m8 W6 x: E; F" [" [& G让我意外的是,他没说觉得我是没诚信,反而有点认同我的观点
4 o* @) C$ F9 \1 W; Q9 @要知道,诚信问题可是让我苦恼了很久的
- a0 h3 l8 f# _7 J( j1 |/ F$ F接着他就开始问我怎么看待阿里巴巴,然后又问我怎么去看待一家公司5 D* ^5 q! ]; W
我就说,阿里巴巴改进了人们进行商业活动的方式,极大地推动了电子商务的发展
* E' ]5 {1 r/ a3 T7 b3 Z) v+ H6 |3 I可以说,国内其实没有多少家公司可以在取得良好业绩的同时
; d9 \7 k1 x- ~3 ]内部的员工都可以明显地感觉自己是在为这个社会作贡献的,阿里巴巴这点很让人羡慕
! ~0 h3 ~. C6 p; @2 _至于公司,我比较看重的是发展前景,至于薪水我是无所谓的,毕竟刚毕业
+ r# O1 W: F  |2 L5 V9 ~( a(省略N个字)
+ i' {: {7 v7 d- _* J# b0 F! `记得我说道:“就好比网易,就算他给我1W一个月都好,其实这些我都没有太大感觉的。”
/ i$ L6 s* e% k$ Q然后他的眼睛明显大了一圈,哈哈,虽然没太大感觉2 P( G/ K& u" z0 @  X
但是如果有滴话,我真的不介意滴!嘎嘎.../ S0 i' S; w1 _  {2 |( E* I* ]
不过没打算去阿里巴巴,怎么说也就无所谓了
5 Q2 y8 d2 r, q/ w最后他问我有没有什么问题需要问他的  M/ A; b! I8 K
我就问了他几个关于如何更快地提高自己技术的问题3 Q/ A" V9 s& Y1 X: t( i. u
然后2面就到此结束,顺利进阶3面,哇塞,比1面轻松多了
# v& a& ^! y# X# T算一算时间,10分钟多一点而已 Orz
9 c  X5 i7 X  v0 Z/ V3 E7 F7 z# e/ q1 c  t( ~  k
因为3面是HR面,很快就有另外一个HRMM(和之前说的HRMM不同的一个MM)来叫我去3面了,一坐下,她就说:“听说你等了很久是吧?”
8 s' d& L& S3 L; R0 L8 o我说:“呃,不是,我只以为会比较快,然后可以去研究院那边面试一下而已,我没什么所谓的。”
, r, @! P9 ~: f* H; k她接着慢悠悠地说:“你不觉得?其实如果去不了的话,也许会是一件好事吗?”4 K! a' B& w- ^* n
Orz...我顿时无语...
" q/ f5 o; E' C  K. O! L: U看到我吃瘪的样子,她继续慢慢地说:“可以和我说说你大学的生活吗?”) q' i( Z0 G9 @: C) z! E
然后我就balala地说了学生工作,还有ACM,刚说ACM,她就开始问ACM队的事情了
4 _5 P+ |# d: q7 O然后问我说,我认为在ACM收获最大的是什么,我说ACM给我最大的收获时,我认识了一群志同道合的朋友,我知道什么才叫做团队精神,而且在ACM队,我学会了坚持- E6 v- W/ o. D" O6 O/ a
接着和她又聊起了我们学校ACM的历史,从我大一时的惨淡,到现在,我们师弟们已经杀进World Final了,让我不解的是,她对此好像深有体会的感觉,而且说到这些历史,她居然好像也知道,她还说跟我们ACM的教练韩老师聊过很多东西...Orz
' `+ e/ R  U5 D8 v! w' ~接着她问我最喜欢的是什么公司,我直接说是网易,然后XXX(省略)/ B" y) |* `0 ^1 o. K3 f
最后她问我:“你有什么问题需要问我的吗?”" Q$ ^0 A5 Q; U& V% ?+ \$ Z1 X
我说:“你不觉得我签了金山的offer,然后再来这里面试,我的诚信会有问题吗?”
$ u' h2 V$ T) o( Y, [+ b! s我觉得这个问题必须得问她,可是出乎意料,她的回答是:% i8 }: C+ a. {7 a+ L, o
“我认为,一个有能力的强者,就应该拥有更多的选择权,这是一件理所当然的事情。”* O& i( H! i  V4 j6 f
然后我再问:“那么,假如你给了我offer,我最后又去了网易怎么办?我刚刚和你说过我一直很喜欢网易的。”0 x# p2 i- Y$ p
她说:“无所谓,你如果找得到的话,我们很乐意看到这样的事情,这更加说明,我们的眼光是没错的,如果你愿意,我们可以给足够多的时间给你,例如一直到招聘会全部结束,让你去不断挑战你认为适合你的公司,等什么时候你决定来阿里巴巴了,你再跟我说,我们就给你offer。”0 k! X$ D+ P$ }2 `
巨汗,Orz,无语!我惊呆啦啦啦啦!!!好牛叉滴态度呀...# T3 t7 l4 Q6 l" o+ E: S' t! p( t$ u$ u
“你还有问题吗?”1 w: }1 p3 R1 G4 |/ e3 P
我摇摇头:“呃...没有了...”我还有问题吗?!彻底没意见...) s; F  Q2 O3 H$ y+ W2 o0 O) _
接着她就说要给我offer...然后说5点才有,结合一下时间
- M1 X" M+ k" ?' D至少要到6点才能到大学城,去中大的阿里巴巴研究院面试了
1 g- C4 g; I% [  e! R1 ]9 m那边也打了电话过来问我什么时候可以去到9 A% R& _5 Z- [$ m' t7 ^& d
我说这里拿到offer了,5点才能签,可能要6点才回到去
5 j7 ]0 V6 \* ]) a: i( s然后听到电话那边的另一个人说:“让他过来吧,没问题”
$ ?% E4 M" |3 {- TOrz,通知的可是2点面试,居然能等我4小时,看来拿了offer的确牛叉( n* ~; {& o. h4 c' |/ d
最后5点签offer,然后还做了性格测试,等到5:30的时候我就打电话给研究院那边说我真的赶不过去了,实在不好意思,那边说无所谓% ]. O8 ^+ b+ B0 W% }$ M, r
签完offer之后,3面的那个HRMM跟我们说了一下具体的福利,51+商业保险之类的
3 D% U5 O* d7 ~8 C2 o; _然后就开始一个一个人地谈待遇了,轮到我的时候,刚过去坐下
  R$ j- p0 v2 x% G+ _. M她就说:“吴嘉澍是吧?我们商量后决定给你税前nk的工资,你觉得有问题吗?”
& u6 W' X! S/ _' Z3 T我问:“是税前nk吗?”(鉴于不能透露公司的具体工作,n就不说是多少了,大家可以自由想象)
$ s, e0 ~" ]6 K: \# g她说:“是的,年底还有3个月的业绩评定,也就是一年给15个月工资。”9 s3 u7 U' h' G( m: F
我说:“没问题。”2 q' h* c3 W1 C* K- ^5 F4 Q
...还能有问题么...偶滴神啊...$ @2 {, K  O% J" i+ N0 E" z
看来我好像真的得去阿里巴巴了 Orz5 ^  g% \# `. c) L( u6 a# [
TM的终于遇到赏识偶的公司了...1028日,It's a nice day!
posted @ 2009-10-30 21:11 life02 阅读(556) | 评论 (1)编辑 收藏

http://topic.csdn.net/u/20091025/12/a7554371-06a8-4ebc-a116-ccca6d014322.html?99765


1:下列运算符中,优先级最高的是
A.[]
B.++
C.%
D.&&
2:以“只读”方式打开文本文件 a: \ aa.dat, 下列语句中哪一个是正确的
A.fp=fopen( ” a: \ aa.dat ” , ” ab ” )
B.fp=fopen( ” a: \ aa.dat ” , ” a ” )
C.fp=fopen( ” a: \ aa.dat ” , ” wb ” )
D.fp=fopen( ” a: \ aa.dat ” , ” r ” )
3:设 int a[ ]={1,2,3,4,5},*p=a;则数组元素的正确表示是
A.a[2]
B.&(a+1)
C.a[5]
D.&p
4:C语言中计算a的3次方,正确的表达是
A.a^3
B.pow(a,3)
C.a**3
D.power(a,3)
5:c语言对文件的操作提供了提供了若于个标准库函数,其中对格式化读函数fscanf的函数调用正确格式是
A.fscanf(文件指针,格式控制字符串,输入项表);
B.fscanf(格式控制字符串,输入项表,文件指针);
C.fscanf(格式控制字符串,文件指针,输入项表);
D.fscanf(文件指针,输入项表,格式控制字符串);
6:对于while语句,错误的说法是
A.用条件控制循环体的执行次数
B.循环体至少要执行一次
C.循环体有可能一次也不执行
D.循环体中可以包含若干条语句
7:设有程序
#include
main()
{
int i,j;
for (i=0,j=1;i <=j+1;i+=2,j--)
printf("%d\n",i);
}
在运行上述程序时,for语句中循环体的执行次数是
A.3
B.2
C.1
D.0
8:main()
{ int x=1,y=1;
  y=x-- ;
  printf( “ %d,%d\n ” ,x,y);
}运行结果为
A.0 , 0
B.0 , 1
C.1 , 0
D.1 , 1
9:函数调用语句“ f((e1,e2),(e3,e4,e5)) ”中参数的个数是
A.1
B.2
C.3
D.5
10:执行语句“ for(d=0;d!=60; d+=0.6) s+=d; ”时,
A.循环在 d 等于 60 时终止
B.循环在 d 大于 60 时终止
C.循环在 d 小于 60 时终止
D.循环在 d 大于 60 后继续
11:使用语句scanf(″a=%f, b=%f″, &a, &b);输入变量a、b的值(□代表空格),正确的是
A.1.25,2.4
B.1.25□2.4
C.a=1.25, b=2.4
D.a=1.25□b=2.4
12:全局变量的存储类型可以定义为
A.auto或static
B.extern或register
C.auto或extern
D.extern或static
13:调用函数时,若实参是一个数组名,则向函数对应的形参传送的是
A.数组的长度
B.数组的首地址
C.数组第一个元素的值
D.整个数组元素的值
14:若变量已正确定义并且指针p已经指向变量x, 则*&x相当于
A.x
B.p
C.&x
D.&*p
15:编译程序的功能是
A.将汇编语言程序转换为目标程序
B.将汇编语言程序转换为高级语言程序
C.将高级语言程序转换为目标程序
D.将高级语言程序转换为汇编语言程序
简答题
16:Write a program to count blanks, tabs, and newlines.
17:硬盘上保存有一个密码表,文本文件格式,文件名为“code.txt”,内容如下:
abcdefghijklmnopqrstuvwxyz
ushecginpaywdqmlxbozrtfvjk
试编写程序实现一个简单的加密程序,循环读取用户输入,按此密码表将字符进行替换,
并直接打印输出;例如“baidu”将被替换成“super”。
18:int a[3];
a[0]=0; a[1]=1; a[2]=2;
int *p, *q;
p=a;
q=&a[2];
则a[q-p]=?
19:下面的代码就使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的错误。

__interrupt double compute_area (double radius)
{
double area = PI * radius * radius;
printf(" Area = %f", area);
return area;
}
20:程序填空
把文本文件 d1.dat 复制到文本文件 d2.dat 中,要求仅复制 d1.dat 中的英文字符。
  #include
  void main()
  { _______ char ch;
   fpd1=fopen( ″ d1.dat ″ , ″ r ″ );_______

   while(fscanf(fpd1, ″ %c ″ ,&ch)_______)

   if(_______||ch>= ′ a ′ &&ch <= ′ z ′ )fprintf(fpd2, ″ %c ″ ,ch);

  fclose(fpd1);fclose(fpd2);

  }
21:在某工程中,要求设置一绝对地址为0x67a9的整型变量的值为0xaa66。编译器是一个纯粹的ANSI编译器。写代码去完成这一任务。
22:请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句。
23:C/C++源代码中,检查花括弧“(”与 “)”,“{”与“}”)是否匹配,若不匹配,则输出不匹配花括弧所在的行与列。
posted @ 2009-10-25 12:44 life02 阅读(2770) | 评论 (2)编辑 收藏

http://blog.csdn.net/yysdsyl/archive/2007/12/30/2005232.aspx
另一个笔试版本

1,题:请定义一个宏,比较两个数a,b的大小,不能使用大于、小于、if语句。

     答案:#define Max(a,b)  (a/b)?a:b

相关:

(1)在C语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。

(2)宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。

(3)在C语言中,“宏”分为有参数和无参数两种。

(4)无参数宏定义

          一般形式:   #define  标识符 字符串

          其中的“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令。“define”为宏定义命令。“标识符”为所定义的宏名。“字符串”可以是常数、表达式、格式串等。比如说符号常量的定义就是一种无参宏定义。此外,常对程序中反复使用的表达式进行宏定义。例如:# define M   (y*y+3*y),定义M为表达式(y*y+3*y),在编写源程序时,所有的(y*y+3*y)都可由M代替,而对源程序做编译时,将先有预处理程序进行宏代换,即用(y*y+3*y)表达式去置换所有的宏名M,然后再进行编译。

            例子:

                             #   define M (y*y+3*y)

                             main(){

                                  int s,y;

                                  printf ("input a number:")

                                  scanf("%d",&y);

                                  s=3*M+4*M+5*M;

                                  printf("s=%d\n",s);

                             }

             注意:上例程序中。宏定义表达式(y*y+3*y)两边的括号不能少,否则会发生错误。当做以下定义后:# define M y*y+3*y在宏展开时将得到下述语句:

s=3*y*y+3*y+4*y*y+3*y+5*y*y+3*y,显然与题意不符。因此,在作宏定义时必须十分注意,应保证在宏代换之后不发生错误。

(5)带参数宏定义

        C语言允许宏带有参数。在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数。对带参数的宏,在调用中,不仅要宏展开,而且要用实参去代换形参。

        一般定义形式:    # define  宏名 (形参表) 字符串 

        在字符串中含有各个形参。

        一般调用形式:     宏名(实参表)

        例如:  

                          #   define  MAX(a,b)      (a>b)?a:b

                          main () {

                                int x,y,max;

                                printf("input two numbers:");

                                scanf("%d%d",&x,&y);

                                max=MAX(x,y);

                                printf("max=%d\n",max);

                          }

(6) 对于宏定义语句,预处理程序对它不作任何检查,如果有错误,只能在编译已被宏展开后的源程序时发现。

(7)宏定义在行末不必加分号,如加上分号则连分号也一起置换。

(8)宏定义必须写在函数之外,其作用域为宏定义命令起到源程序结束。如要终止其作用域可使用#underf命令。

                        例如:

                                  #  define  PI 3.14159

                                  main()

                                  {

                                  ......

                                  }

                                  # underf  PI

                                  f1()    

             在这段程序中,PI只在main函数中有效,在f1()中无效。

(9)宏名在源程序中若用引号括起来,则预处理程序不对其做宏代换。

                          例如:

                                #   define   Ok  100

                                main()

                                {

                                      printf("OK");

                                      printf("\n");

                                 }

               在这段程序中,宏名OK表示100,但在printf语句中OK被引号括起来,因此不做宏代换,把“OK”当字符串处理。程序的运行结果为:OK

 (10)宏定义允许嵌套,在宏定义的字符串中可以使用已经定义的宏名。在宏展开时由预处理程序层层代换。

                           例如:

                                 #define   PI   3.14159

                                 #define   S     PI*y*y

(11)习惯上宏名用大写字母表示,以便与变量区别。但也允许用小写字母。

(12)可用宏定义表示数据类型,使书写方便。

                           例如:

                                 # define  STU  struct stu

                       这样一来,可以在程序中使用STU做变量说明,例如:

                                 STU  body[5],*p;

(14)对“输出格式”做宏定义,可以减少书写麻烦。

                            例如:

                                  # define  P printf

                                  #define   D "%d\n"

                                  #define  F "%f\n"

                                  main(){

                                  int a=5, c=8, e=11;

                                  float b=3.8,  d=9.7,   f=21.08;

                                  P(D F,a,b);

                                  P(D F,c,d);

                                  P(D F,e,f);

                                  }

(15)带参宏定义中,宏名和形参表之间不能有空格出现。

                         例如:  #define  MAX(a,b)  (a>b)?a:b

                  不能写成     #define  MAX  (a,b)  (a>b)?a:b  这样一来,宏调用语句:

max=MAX(x,y)  将变为:  max=MAX(a,b)(a>b)?a:b(x,y)   ,这显然是错误的。

(16)再带参宏定义中,形式参数不分配内存单元,因此不必做类型定义。而宏调用中的实参有具体值。要用他们去代换形参,因此必须做类型说明。这是与函数中的情况不同的。在函数中,形参和实参是两个不同的量,各有自己的作用域,调用时要把实参值赋予形参,进行“值传递”。而在带参宏中,只是符号代换,不存在值传递的问题。

(17)在宏定义中的形参是标识符,而宏调用中的实参可以是表达式。

                        例如:

                                #define SQ(y)  (y)*(y)

                                main(){

                                int a,sq;

                                printf("input a number:");

                                scanf("%d",&a);

                                sq=SQ(a+1);

                                printf("sq=%d\n",sq);

                                } 

                                

(18)在宏定义中,字符串内的形参通常要用括号括起来以避免出错,例如把上面的例子改成:

                                #define SQ(y)  y*y

                                main(){

                                int a,sq;

                                printf("input a number:")

                                scanf("%d",&a);

                                sq=SQ(a+1)

                                }

              当给a赋值为3时运行的结果是sq=7。

(19)为避免错误,对于宏定义不仅应在参数两侧加括号,也应在整个字符串外加括号。

(20)宏定义也可以用来定义多个语句,在宏调用时,把这些语句又代换到源程序内。

                      例如:

                                  #define SSSV(s1,s2,s3,v)    s1=l*w;s2=l*h,s3=w*h,v=w*l*h;

                                  main(){

                                         int l=3,w=4,h=5,sa,sb,sc,vv;

                                         SSSV(sa,sb,sc,vv);

                                         printf("sa=%d\nsb=%d\nsc=%d\nvv=%d\n",sa,sb,sc,vv);

                                  }

                 上述程序第一行为宏定义,用宏名SSSV表示4个赋值语句,4个形参分别为4个赋值符左边的变量。在宏调用时,把4个语句展开并用实参代替形参。使计算结果送入实参中。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/omaigaode/archive/2008/12/04/3441834.aspx

posted @ 2009-10-23 15:00 life02 阅读(926) | 评论 (1)编辑 收藏

部分腾讯笔试题(2009-10-07 10:21:44)
标签:杂谈   

http://blog.sina.com.cn/s/blog_5dde893c0100fjap.html
1. 1-20的两个数把和告诉A,积告诉B,A说不知道是多少,

B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少?
答案:2和3

注(本人分析):看了几篇类似的分析,首先我觉得拿出的两个数是不应该重复的,比如不能拿2,2,然而别人分析中没有这么认为。A说不知道,说明由和分解的结果不唯一,而B说不知道也是因为由分解的数不唯一,这时候A说他知道了,我觉得他是把分解的情况做了一个分析,假如分解的情况为x1,x2;y1,y2(如果分解的情况多了的话,我个人认为他不会很快判断出是那个数的),应该有一种情况是x1*x2或者y1*y2的值积分解唯一,而另一个积分解不唯一,因为B说不知道,可以知道答案应该是积分解不唯一的那个,所以A知道了。B在反过来推测,也该得到结论。

在1到20个数中寻找,可以发现2和3满足要求,自我感觉分析有漏洞,智商如此,请高手指点了。

4 如何输出源文件的标题和目前执行行的行数?

答案: printf("The file name: %d\n", __FILE__);

printf("The current line No:%d\n", __LINE__);

ANSI C标准预定义宏:

__LINE__

__FILE__

__DATE__

__TIME__

__STDC__ 当要求程序严格遵循ANSI C标准时该标识符被赋值为1

__cplusplus__ 当编写C++程序时该标识符被定义

7. 希尔 冒泡 快速 插入 哪个平均速度最快?

答案:快速排序nlog2n
快速排序、归并排序和基数排序在不同情况下都是最快最有用的。
8. enum的声明方式

答案:enum 枚举类型名 {

枚举常量1,

枚举常量2,

...

枚举常量n

};

For example:

enum weekday { sunday, monday, tuesday, wednesday, thursday, friday, saturda
y};

enum weekday week_day;//week_day 就是一个枚举类型变量

11. 顺序查找的平均时间

答案:(1+2+3+...+n)/n = (n+1)/2

14.不使用其他变量,交换两个整型a,b的值

答案:x = x+y; y = x-y; x = x-y

还有x=x^y;y=x^y;x=x^y这个更好一些

15. 写出float x 与“零值”比较的if语句。

if(x>=0.000001 && x<=-0.000001)(x不为0的比较)

float: 6位精度

double: 16位精度

2. Internet采用哪种网络协议?该协议的主要层次结构?

答案:TCP/IP协议。应用层、传输层、网络层、数据链路层和物理层。

3. Internet物理地址和IP地址转换采用什么协议?

答案:地址解析协议ARP address resolution protocol

4. IP地址的编码分为哪俩部分?

答案:网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位
哪些是主机位。

 

大题:

1 把字符串转换为小写,不成功返回NULL,成功返回新串

char* toLower(char* sSrcStr)
{
char* sDest= NULL;
if( __1___)
{
int j;
sLen = strlen(sSrcStr);
sDest = new [_______2_____];
if(*sDest == NULL)
return NULL;
sDest[sLen] = '\0';
while(_____3____)
sDest[sLen] = toLowerChar(sSrcStr[sLen]);
}
return sDest;
}

2 把字符串转换为整数 例如:"-123" -> -123

main()
{
.....
if( *string == '-' )
n = ____1______;
else
n = num(string);
.....
}

int num(char* string)
{
for(;!(*string==0);string++)
{
int k;
k = __2_____;
j = --sLen;
while( __3__)
k = k * 10;
num = num + k;
}
return num;
}

 


附加题:

1 linux下调试core的命令,察看堆栈状态命令
2 写出socks套接字 服务端 客户端通讯程序
3 填空补全程序,按照我的理解是添入:win32调入dll的函数名
查找函数入口的函数名 找到函数的调用形式
把formView加到singledoc的声明 将singledoc加到app的声明


#define Max(a,b) ( a/b)?a:b


写一个病毒
while (1)
       {
              int *p = new int[10000000];
       }

不使用额外空间,将 A,B两链表的元素交叉归并
将树序列化 转存在数组或 链表中
struct st{
int i;
short s;
char c;
};
sizeof(struct st);
答案:8
    char * p1;
    void * p2;
    int *p3;
    char p4[10];
    sizeof(p1...p4) =?
答案:4,4,4,10


二分查找
快速排序
双向链表的删除结点
有12个小球,外形相同,其中一个小球的质量与其他11个不同
给一个天平,问如何用3次把这个小球找出来
并且求出这个小球是比其他的轻还是重
解答:
哈哈,据说这是微软前几年的一个面试题。很经典滴啊!三次一定能求出来,而且能确定是重还是轻。
数据结构的知识还没怎么学透,不过这个题我到是自己研究过,可以分析下。
将12个球分别编号为a1,a2,a3.......a10,a11,a12.
第一步:将12球分开3拨,每拨4个,a1~a4第一拨,记为b1, a5~a6第2拨,记为b2,其余第3拨,记为b3;
第二步:将b1和b2放到天平两盘上,记左盘为c1,右为c2;这时候分两中情况:

1.c1和c2平衡,此时可以确定从a1到a8都是常球;然后把c2拿空,并从c1上拿下a4,从a9到a12四球里随便取三球,假设为a9到a11,放到c2上。此时c1上是a1到a3,c2上是a9到a11。从这里又分三种情况:
      A:天平平衡,很简单,说明没有放上去的a12就是异球,而到此步一共称了两次,所以将a12随便跟11个常球再称一次,也就是第三次,马上就可以确定a12是重还是轻;
      B:若c1上升,则这次称说明异球为a9到a11三球中的一个,而且是比常球重。取下c1所有的球,并将a8放到c1上,将a9取下,比较a8和a11(第三次称),如果平衡则说明从c2上取下的a9是偏重异球,如果不平衡,则偏向哪盘则哪盘里放的就是偏重异球;
      C:若c1下降,说明a9到a11里有一个是偏轻异球。次种情况和B类似,所以接下来的步骤照搬B就是;

2.c1和c2不平衡,这时候又分两种情况,c1上升和c1下降,但是不管哪种情况都能说明a9到a12是常球。这步是解题的关键。也是这个题最妙的地方。
      A:c1上升,此时不能判断异球在哪盘也不能判断是轻还是重。取下c1中的a2到a4三球放一边,将c2中的a5和a6放到c1上,然后将常球a9放到c2上。至此,c1上是a1,a5和a6,c2上是a7,a8和a9。此时又分三中情况:
          1)如果平衡,说明天平上所有的球都是常球,异球在从c1上取下a2到a4中。而且可以断定异球轻重。因为a5到a8都是常球,而第2次称的时候c1是上升的,所以a2到a4里必然有一个轻球。那么第三次称就用来从a2到a4中找到轻球。这很简单,随便拿两球放到c1和c2,平衡则剩余的为要找球,不平衡则哪边低则哪个为要找球;
          2)c1仍然保持上升,则说明要么a1是要找的轻球,要么a7和a8两球中有一个是重球(这步懂吧?好好想想,很简单的。因为a9是常球,而取下的a2到a4肯定也是常球,还可以推出换盘放置的a5和a6也是常球。所以要么a1轻,要么a7或a8重)。至此,还剩一次称的机会。只需把a7和a8放上两盘,平衡则说明a1是要找的偏轻异球,如果不平衡,则哪边高说明哪个是偏重异球;
          3)如果换球称第2次后天平平衡打破,并且c1降低了,这说明异球肯定在换过来的a5和a6两求中,并且异球偏重,否则天平要么平衡要么保持c1上升。确定要找球是偏重之后,将a5和a6放到两盘上称第3次根据哪边高可以判定a5和a6哪个是重球;
      B:第1次称后c1是下降的,此时可以将c1看成c2,其实以后的步骤都同A,所以就不必要再重复叙述了。至此,不管情况如何,用且只用三次就能称出12个外观手感一模一样的小球中有质量不同于其他11球的偏常的球。而且在称的过程中可以判定其是偏轻还是偏重。

给一个奇数阶N幻方,填入数字1,2,3...N*N,使得横竖斜方向上的和都相同
答案:
#include<iostream>
#include<iomanip>
#include<cmath>
usingnamespace std;
int main()
{
 int n;
 cin>>n;
 int i;
 int **Matr=newint*[n];//动态分配二维数组
 for(i=0;i<n;++i)
      Matr[ i ]=newint[n];//动态分配二维数组
 //j=n/2代表首行中间数作为起点,即1所在位置
 int j=n/2,num=1;//初始值
 i=0;
 while(num!=n*n+1)
 {
//往右上角延升,若超出则用%转移到左下角
      Matr[(i%n+n)%n][(j%n+n)%n]=num;
    //斜行的长度和n是相等的,超出则转至下一斜行
    if(num%n==0)
          i++;
   else
      {
          i--;
          j++;
     }
      num++;
 }
 for(i=0;i<n;i++)
 {
      for(j=0;j<n;++j)
         cout<<setw((int)log10(n*n)+4)<<Matr[ i][ j ];//格式控制
      cout<<endl<<endl;//格式控制
 }
for(i=0;i<n;++i)
      delete [ ]Matr[ i ];
return1;
}
腾讯的一道面试题:(与百度相似,可惜昨天百度死在这方面了)////
在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可。
答案:
1, 把整数分成256M段,每段可以用64位整数保存该段数据个数,256M*8 = 2G内存,先清0
2,读10G整数,把整数映射到256M段中,增加相应段的记数
3,扫描256M段的记数,找到中位数的段和中位数的段前面所有段的记数,可以把其他段的内存释放
4,因中位数段的可能整数取值已经比较小(如果是32bit整数,当然如果是64bit整数的话,可以再次分段),对每个整数做一个记数,再读一次10G整数,只读取中位数段对应的整数,并设置记数。
5,对新的记数扫描一次,即可找到中位数。
如果是32bit整数,读10G整数2次,扫描256M记数一次,后一次记数因数量很小,可以忽略不记
(设是32bit整数,按无符号整数处理
整数分成256M段? 整数范围是0 - 2^32 - 1 一共有4G种取值,4G/256M = 16,每16个数算一段 0-15是1段,16-31是一段,...
整数映射到256M段中?如果整数是0-15,则增加第一段记数,如果整数是16-31,则增加第二段记数,...

其实可以不用分256M段,可以分的段数少一写,这样在扫描记数段时会快一些,还能节省一些内存)


腾讯题二:
一个文件中有40亿个整数,每个整数为四个字节,内存为1GB,写出一个算法:求出这个文件里的整数里不包含的一个整数
答:
方法一: 4个字节表示的整数,总共只有2^32约等于4G个可能。
为了简单起见,可以假设都是无符号整数。
分配500MB内存,每一bit代表一个整数,刚好可以表示完4个字节的整数,初始值为0。基本思想每读入一个数,就把它对应的bit位置为1,处理完40G个数后,对500M的内存遍历,找出一个bit为0的位,输出对应的整数就是未出现的。
算法流程:
1)分配500MB内存buf,初始化为0
2)unsigned int x=0x1;
    for each int j in file
    buf=buf ¦x < <j;
    end
(3) for(unsigned int i=0; i <= 0xffffffff; i++)
        if (!(buf & x < <i))
        {
            output(i);
            break;
        }
以上只是针对无符号的,有符号的整数可以依此类推。
方法二:
文件可以分段读啊,这个是O(2n)算法,应该是很快的了,而且空间也允许的。
不过还可以构造更快的方法的,更快的方法主要是针对定位输出的整数优化算法。
思路大概是这样的,把值空间等分成若干个值段,比如值为无符号数,则
00000000H-00000FFFH
00001000H-00001FFFH
......
0000F000H-0000FFFFH
.....
FFFFF000H-FFFFFFFFH
这样可以订立一个规则,在一个值段范围内的数第一次出现时,对应值段指示值Xn=Xn+1,如果该值段的所有整数都出现过,则Xn=1000H,这样后面输出定位时就可以直接跳过这个值段了,因为题目仅仅要求输出一个,这样可以大大减少后面对标志数值的遍历步骤。
理论上值段的划分有一定的算法可以快速的实现,比如利用位运算直接定位值段对应值进行计算。

posted @ 2009-10-23 15:00 life02 阅读(1224) | 评论 (0)编辑 收藏

仅列出标题
共20页: First 12 13 14 15 16 17 18 19 20