找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 2431|回复: 8

[面筋] 转贴=腾讯的(06年11月)

[复制链接]
发表于 2007-10-29 14:40 | 显示全部楼层 |阅读模式
(广工版)& [5 H, I" l' X+ M' o& Z
我是前天晚上1点钟先知道我通过笔试的,有种从海笔中死里逃生的感觉,于是那晚特兴奋,才睡了3个小时。第二天带着两只熊猫眼向着凯旋华美达大酒店出发了。说起来很搞笑,因为找不到直达专线,为了表示一下对腾讯的尊敬,我特意转巴士再打摩的,结果花了14大洋。后来回来时才被战友告之有车直达大学城,那叫一个汗啊(为那14大洋默哀)orz.% E$ ?& z, Y' m$ V! {
那间酒店满豪华的,我是11点面,我10:10分就到了。结果一直等到12点才到我。只好和战友吹水熬时间。: Q9 ?6 u9 H. D1 c
终于到我上场了,面试官是一个胖胖的GG,颇为和善的,令我放松不少。坐下来先是例牌来个自我介绍,我就balabala来了一串。因为早就倒背如流,所以轻松讲完。期间HRGG对我玩过Cisco的router和在马士基实习了一年的那部分比较感兴趣,搭了两句。我觉得自我介绍一定要有1至2个亮点来勾起HR的注意,毕竟好的开始就是成功的一半嘛。接下来就是简历上的问题了,先是问了网络服务器安全维护的项目,因为早有准备,就把自己做的安全策略balabala解析给他听。然后GG又问了我医院的接入网方案项目,继续balabala….期间HRGG居然问我MD110交换机是什么牌子等无聊问题,汗啊。3 j9 S) h" ^& q* e8 X( p8 i
其实,交谈中我发现这个GG并不擅长于网络,因为问得根本就不深入。随后,在友好的握手后结束了一面。感觉上一面比较畅快淋漓,觉得二面有戏。但因为基本上没有涉及到深入的网络专业知识,我感觉到二面绝对非常的tough4 D* B  a2 M: z7 s6 |
二面:
+ X6 ^" B+ c7 ~; \" A6 Q如我所想收到二面通知,54人剩下32人。从过往的面筋看来,这次二面绝对不简单,于是前一天晚上疯狂地刨MPLS/VPN体系结构和NP的那几本英文教材,刨到3点终于挺不住睡了,第二天再次带着熊猫眼进入惊险的二面。% W4 p9 o) K/ `  a8 i
据战友说,二面的形式和一面差不多,只是后来会聊一下天,不难。
3 b# b. n$ M5 i2 P这次来到后,居然提前了20分钟开始面试,难为我连椅子都未坐热,汗啊,orz
( y. ^7 \# G4 T/ P6 F% Y1 G二面的面试官是个冷冰冰的GG,貌似牛人。我先伸出手想跟他握手,岂料他没反应,于是赶紧把伸到一半的猫手缩回来,狂汗啊,orz
* U9 c( Q5 i! H# Z# z+ ?:L他先是翻了翻我的简历,突然来了句:“你考了P啊?这么厉害啊?”—-—!严重狂汗啊!这年头,不要说P,IE都满地啦, orz/ I. _+ u, {7 }: f' S
:L我心里升起一阵寒意,有种不详的感觉。果然,那个GG拿了一叠纸放在我面前说:行,我现在有个方案,你给我设计一个网络出来。我ft!居然有这种面试!严重瀑布汗啊。orz
9 i- }: q( R) D$ |只好硬着头皮上啦,幸好那个方案没什么大不了,就是一个园区交换网络。我选用router加二层switch的独臂连接来画topology图。期间那个GG不断地加条件:用户分布在10层,如何分配VLAN。我ft!这个陷阱太明显了吧。我说按部门来把端口分配到相应的VLAN。GG满意地点头。接着又加上:这个网络的WEB SERVER连到哪里,VPN SERVER呢?防火墙呢?—-—!这些还能连到哪里啊?后来GG又说:这个网络有400人用,你怎么设计啊?我注意到我的独臂连接,于是我说:这条独臂线路流量太大,直接用3层switch较好。问:用什么型号的switch啊?答:3550或4000系列。问:怎么连?我只好重新画图。期间,那个GG说,你们NP画这些不是很快的吗?你很紧张啊?我狂晕啊(你这样来弄我,我能不紧张吗?)最后终于画完,那个GG再问了我一些设备的问题就问我还有什么问题啊?我一看表,才面了10分钟不够,难道我已经被他BS了?于是我垂死挣扎兼神经错乱地问到:那些用户主要是基于语音还是普通的IP流量来使用这个网络的啊? GG冷冷地看着我说:你觉得有分别吗?我狂汗,接着用蚊子般的声音来解析。不过GG已经自顾自地写对我的评语了。最后我绝望地问到:3面最快什么时候通知啊?这时,这个GG终于显示他可爱的一面-----伸手与我握手并跟我说:恭喜你,你过了这一关了! 当时我真想给他来个kiss。5 r% a6 B; V4 V' ~  Q* a
三面:5 ]' c* ]7 N. d, q
虽说我已得到口头的通知,但我还是在焦虑中等来了三面的正式通知(呵呵,我这个人就是爱紧张)三面从32人刷剩19人。/ P+ p$ t3 i8 u( c  b. C
据说三面是HR面,没技术问题。于是我把官网上的资料全部打印出来,然后看熟,进一步了解腾讯,想了一下HR可能的问题。前天晚上又太兴奋,次日依然熊猫眼。orz
) i; x" f6 {7 y那天有点冷,于是穿上全套早已准备好的终极战衣,昂首出发华美达大酒店。
! Q9 Q. }6 C0 q8 B3 s我3点面,但我2点05分就到了,摸上13楼进入面试房间,负责接待的HRJJ居然叫我马上开始面试!我ft啊!这次连坐都没得坐。
' E, Y7 z0 s& I, k: ^面试官是个四眼胖子,觉得不怎么友善。一坐下他就猛翻我前面面试的记录,然后叫我介绍一下学习和工作的情况!我就balabala地说,期间他竟然在收发短信,我只好等,他见状叫我继续,然后自己继续弄手机。无奈啊!之后他说我一个广州人去深圳不划算啊,工资隐性少了一截啊,叫我考虑清楚。我ft!谁不知道这些啊,于是只好欺骗自己的感情猛吹深圳比广州好啊(事实当然不是这样啦)又吹自己对钱不看重(当然是假的)。然后我把我对腾讯的理解和个人的优势搬出来敷衍了事,接着胖子又继续刁难我到:我们腾讯里面的技术是全国最强的,你考个P进来根本不算什么。说到这,我已经明白到他在玩压力测试。那好,我就顺着他的口风说话,叫见人讲人话,见鬼讲鬼话嘛。答曰:那只是一张纸(事实也是如此)。! `# q) C8 d% m. U
四眼胖子见状把话题一转,说道:别人都说腾讯工作环境好,我们的技术的确全国第一,但我们的工作压力很大的。我们定期举行考试,抓最后的两名去做重培训,如果还不行就辞退。还在玩那招,看来我只好出绝招啦。答曰:我觉得我是比较善于处理压力的,对我来说,外界是很难对我产生太大的影响的,我的压力主要是来自于自己。每当我为自己设定目标时,我都会给自己施加一定的压力,可以说没有压力,我是做不了事的。接着我以考P为例再讲了一下。. L( o0 t/ A% c0 K7 ^/ L7 \
最后我就工资的问题谈到:据我所知,腾讯每年有两次的调薪机会,我相信我有足够的时间和机会来证明我足够的优秀。7 K% `6 k* f, z1 L
胖子好像技穷了,于是笑着和我来个招牌式的握手后结束了3面。. k2 G6 R) W  e! E. ^
( g' p: Y  T0 d. R1 C8 W
四面:
# i* E4 y9 Z' B剩下11人了。我看了看名单:11人里面中大和华工各占2个,而且都是1本,1硕。[em09] 我们广工一共有3人,[em09] 而且都是小本。怎样,有够我们自豪的吧?想着我们从一群中大华工中杀出来,爽就一个字啊!四面我觉得基本上是过场,只要不自爆,基本都过定了。9 f6 f1 L1 U8 _) O1 P" z) z! n1 z1 m
这次的面试出人意料地准时,面试官是个帅帅的HRGG。一段寒暄后进入主题,一开始还是自我介绍,我 ft,怎么人人都喜欢这个东东啊?于是balabala照背,然后GG都是问我些简历上的东西,不过每个问题都带有“最”字,例如“最”自豪的事情,“最”大的优点,“最”困难的事情,etc…早有准备,继续balabala。其中“最”难答的就是你“最”烦的事情,我想:还用说吗?当然是老妈的唠叨啦。不过这当然不能说出口啦,于是我只好说了比较折中和大众化的答案:大四时找工作和课程之间的矛盾。我要说的是当面对难答的问题时,应尽量答些保守一些但不会令人反感的答案,否则很容易自爆。% n; ?* N. W( u6 r
接着GG问我的职业规划,我答到:我想向无线网络方向发展,一来是我的兴趣所在,二是因为我研究过QQ的年度报告方案,发现QQ的业务面临无线领域的挑战,和中国移动和电信的合作因此也备受压力。所以我在未来的5年内想努力在这一领域成为专家,为QQ的各种业务提供技术上的支持。然后我想在10年里,使我的工作性质从对业务和产品提供技术支持升华成对公司的业务发展方向和策略提供信息支持,简单地我说,我希望我在十年后能在QQ成为一名参谋的角色。GG满意的露出了笑容。最后在有力的“最”后一次握手后结束了整个面试。其实在握手的瞬间,我的第六感告诉我,我已经成功了。( z0 ]6 R: ?- t% q+ ]" x9 m
总结一下:
) y, A& ^1 {3 M3 D1准备很重要,不论你这次的准备有没有白费,请不要放弃,你要相信你的努力总有一天会帮到你的。所以不要轻视每次面试和笔试
8 W+ Z) \9 _+ ~- z1 \6 o1 D2心态很重要,我之前的面的公司很多都是我先BS他们,然后当然是被他们BS我啦。一句话,态度决定一切。
! A* |$ F1 X! l8 D3不要执着于一两间公司,被BS了,不要紧,你要相信你会找到更好的(想起我当初两度霸王面华为,然后瞬间被BS的事都觉得好笑。那些公司不要你是他们的损失,或者是他们不懂得你的价值,不去也罢。你应该BS回那些公司,而不要被他们影响你的心情3 c/ B+ g% [0 ~  `' _8 N  Z
4找到自己的方向很重要,我认识一些人,他们往往有2至3份简历,然后四处撒网,接着疯狂地笔试,面试,然后又不断地被BS。在我看来,这种做法很浪费时间,而且很容易受打击。我10月份没有任何的面试和笔试机会,我一直在充电,直到11月份我才有机会。我只投适合的,虽然机会少了,但却比那些人容易成功。
+ Z3 N- R$ x; K接下来的目标就是北电的network administrator了,这个是我准备了两年多的目标,我是不会让任何一个人的,无论从心理还是行动上。
3 x5 {# d5 O' w; m: G3 k最后祝各位成功,找到自己的offer和自己的幸福!
. y- E& f$ g1 W4 H  Q% e
: b' I* x, a1 L+ T8 O' r: y2 v[ 本帖最后由 广工大卷毛 于 2007-10-29 14:58 编辑 ]
 楼主| 发表于 2007-10-29 14:48 | 显示全部楼层
找到自己的方向很重要,我认识一些人,他们往往有2至3份简历,然后四处撒网,接着疯狂地笔试,面试,然后又不断地被BS。在我看来,这种做法很浪费时间,而且很容易受打击。我10月份没有任何的面试和笔试机会,我一直在充电,直到11月份我才有机会。我只投适合的,虽然机会少了,但却比那些人容易成功。3 n( O1 r( A9 j+ ~
[em09] 有道理
回复

使用道具 举报

发表于 2007-10-29 14:54 | 显示全部楼层
我也希望自己是
回复

使用道具 举报

 楼主| 发表于 2007-10-29 14:57 | 显示全部楼层
*关于面试:(中大版)1 B/ d* ~- Z2 f, \8 T8 P
1.面试准备:! y+ T  m  }$ s5 }/ p
对于腾许的准备,我基本上也只是听了他的宣讲会,了解了一下腾讯的业务范围。因
' a* j. B5 K- W4 L" s% U为我觉得腾讯还是一个很年轻的公司,在选人标准上可能没有像那些百年企业那样有严格
5 n5 E4 g+ n& e+ H的倾向。当然,所谓知己知彼嘛,了解一个公司的业务范围和企业文化是非常有必要的。
# j4 P  ?7 [+ G7 O8 a第一,这样你才知道他适不适合你;第二,这样你才能够让面试官觉得你对他们公司很感- h. \' x, W2 _3 V8 F# o
兴趣,公司必定希望招对自己充满热情和向往的人;第三,了解这些,你会有意无意在面
: h9 k6 f0 g; p. w试中表现出公司所要的一些价值,当然前提是你真的有相关的经历可以证明,或者你真正
: b2 i& T- p8 H$ ^6 j% B* c* t总结出来。
1 T+ @: j3 I% {8 w  l5 x另外,要面试什么职位,就要尽量详细的了解职位的性质和要求,比如,我应聘的是, h) y% S4 v8 ^7 g) L3 U
营销管理,那么我至少要知道营销管理是是做什么的。同样的,如果报IT企业的销售职
' j. a- J+ R, y% ]4 p位,你也要知道IT销售是做什么的,如果没有,那么我们成功的几率就小很多了。! R# V7 s1 ^' T* m
2.一面:7 N" }8 W9 |" m
我被问道的问题如下:
* g; E) O# o3 \1)自我介绍
3 M; `1 O3 I  X9 m& l2)你的学习经历跟你的申请的这个职位有什么联系?* s1 }5 B4 S8 R4 P; g! K* s9 e
3)举一个例子说明你的营销方面的能力?
0 `6 V# W- Q, ^" O; {4)你举的例子跟腾讯的业务相关性不大,你怎么能保证你能承认腾讯的营销工作?7 C& z* ~" o/ r" F5 A% j
心得:
% X( S. y6 {9 d  r0 O8 h1)腾讯的业务类注重“硬指标”,至少你要了解业务类的工作性质,还要有相关的经; P+ ~# e3 t& `2 U9 `( V" k
历(销售方面也可以)。
1 V2 A8 y8 r8 Q& d; Z% C4 H- k2)尽管面试官不与你互动,你也要总是很镇定,很从容的应对。最后一个问题,面显
* _. k( l( w9 S) e. d面试官有点考验一下我的应变能力。当他在置疑我的时候,我都是保持微笑,让他感到我
0 [6 M1 Z- E; J+ f, d' _很自信,很从容:)
! d/ Z3 L# o# y7 [3.二面:$ C# N: E; V, W9 L
我被问道的问题如下:6 i3 U. B; T. F& E
1)你对营销管理职位的认识。- z$ b  D" l5 s; }
2)你为什么不考研?
9 S' R4 l2 J, o% O5 O/ D2 ], ^3)你哪里人?# e. ^. s; t1 p$ o) j
4)假如你到了腾讯公司三个月内跳槽了,你觉得会是什么原因?
* m7 C9 Q/ b+ q5)你对腾讯业务的了解。, j9 W, w% V3 u) B& e7 d
心得:  C4 L# u) x$ u+ h: ]/ n
1)还是强调对职位性质和公司业务的了解,其实最后一个问题我有点画蛇添足,说了
1 T: f" p7 V, f+ ]一下互联网的发展趋势,不过不是很正确,但是面试官说,他知道我已经很用心的了解腾" O% v8 G3 f  ?$ g5 j
讯了。(呵呵,我也不算很用心,我看有的同学专门打印很多资料在等候室里面背呢), s4 _" o1 R+ s: P' g
2)问为什么之类的问题,实际上也是在了解你的职业规划,这个就看自己的思考与总' h. l. b/ I1 W# h( V  `3 c
结了,让面试官感到其实你比较有想法,而不是人云亦云。:)/ d+ {; A6 w( y$ ?- b0 Q. @1 U
3)第四个问题是比较郁闷的,难道我长的就那么像会很快跳槽的人?-_-||
: o4 `( F9 E+ p! I' ]0 y: F' [, D6 K3.三面:) t, i6 U; O; C/ r* r
我被问了两个问题,严格来说只有一个:% Q& n+ h  d: k1 v
1)现在宝洁公司那边你面的怎么样?(因为我的简历里面有涉及CMK那个案例分析大% s3 {6 z2 N9 K; a* I
赛), J& `* P0 m. R) P& J4 [$ M
2)如果明天签约,你愿意签吗?
' h- c+ C. ^4 {0 b9 G心得:
6 Q& O4 S$ J) c0 {1)三面基本上是资格审核,主要考察你对公司的认同感,以及你是否愿意在这个行业) ~  f' \1 G! A
发展。由于我明白他的用意,所以我告诉他我愿意签,而且喜欢互联网行业,并且腾讯是
4 {+ e' t& g9 P: e! a% h这个行业的领先者,发展前景很好。——事实上我也这么认为。
: j) h) q- N" r  P2)就算你还没想好,至少你也要用恰当的方法处理吧,怎么说拿到手再决定嘛。不过个人感觉还是要谨慎承诺!这也是对他们这些天辛勤工作的尊重,同时也是对自己信用的6 W1 w' N+ O) N8 |/ ]
尊重。
, D; B( ~) |* ~/ w/ b0 }4.面试总结:% O& u! |2 m+ |( m
总的来说,整个面试的过程,我没有感觉到没有太大的压力,可能是自己从上个学期
- V4 N. J( ~( u. O) y$ y) r以来做了比较充分的准备,所以面IT行业的营销/销售职位有比较大的把握(其他行业我) ~" E, H- S" m
不敢说)。0 w: S7 u2 d: Y! y3 f+ t
腾讯的面试可能显得有点随意,但是我觉得对每个人机会都是均等,如果你有充分的" s* }6 @* L1 G1 z1 ~# `+ s
经历来证明你的优秀,就不必太担心。当然,运气的因素在任何时候都存在,不过这个我8 J, M& v; K5 L0 }0 t
们不能把握,那么我们只能把握好能够把握的东西。无论怎么样,面试的过程都是“厚积7 `! k0 P# a  q$ H- F; t8 r! H
薄发”,不管面对的是什么样的面试官,不管他跟不跟你互动,我们都要真诚的把自己长4 q2 [( C: G% j$ f% Y% {- }- ^
期积累起来的能力与风格表现出来,那就OK啦!
/ y4 Y. q, o3 w5 M*关于待遇:, u7 I0 }7 L0 k! ?1 w& c7 ^! c
年薪7w[em021] 这是公司公开的啦,不过前面有个同学提到“年薪7w + 1.2k/月奖金”,我( E) }# l, X. w6 D+ k) ]. ?
认为这种说法应该是不对的,可能计算的方法确实比较复杂,所以不是不是每个人都听的" m, ]1 c2 G# v
清楚。不过有几点可以肯定:; C' W7 Q' D" Y
1.一般的情况下,只要表现不是太差,年薪是不小于7w的。
- Q6 U! R3 n" l7 i6 W! L2.业务类的岗位,薪水浮动更大一点,业绩好的话,收入会更高。(用鼓励的话来
' L% [8 A& F; s1 _/ g说,按照腾讯目前的发展速度,只要积极学习,努力工作,收入高于7w是很正常的。)
- F( v+ q; p# H- D0 {3.公司会合法的为员工避一点税,注意是合法的,也就是说,虽然是税前7w,但是相
7 m7 W& H) i6 o- Q9 F; Z" D' K比在其他企业的7w,可以少交一点税。6 ~" T" K3 A( a) Q: N2 u
4.如果被外派到其他城市工作一段时间,拿着深圳的福利和待遇,到其他地方消费还
, u- Z1 A/ h. _* T) q是很不错的吧:)5 J( s; r, t; a( r7 w# ~0 _
总的来说,从我个人的角度讲,对这样的待遇我还是比较满意的。因为我曾经看过
: q2 B/ E) b3 x; G$ M7 Ejob版精华区的很多面经,据某些面经透露,有一些挺大型的外企,提供的待遇其实都未
3 L. E5 `. j$ M. J必比腾讯好。当然,行业不同,或许没有太多对比的意义,而且从职业远景的角度来看更. h8 r- ^$ Z! Y
加重要一点。(不过当真正拿到offer的时候,其实不少人还是会在意的,不信就到时候看,- F! }/ ?! {' I  O1 e: Q
呵呵)*关于“大牛拒腾讯”:
4 u8 C6 l/ v) E4 }; w前面有个帖子说,有十几个大牛拒了腾讯,根据签约现场来看,确实除了一个人因为8 j$ K! N9 M/ g' p0 p
考驾照没去之外,都到了,所以建议有的同学,不要道听途说。
: G7 y6 B* Z" C) h# F腾讯是不是最好的,对于每个人来说都不一样。对于我来说,她是我第三的选择。在  y& ^7 k6 S9 X
我对我的第一和第二选择没有充分把握的情况下,我选择与之签约,我想很多人都会这么" I; f9 V. c# L9 y% O* S' V
做。至于是不是真有人拿拿offer之后马上拒了,我想可能有,但是可能ta不是拒了腾讯才
' k5 C- G# v( z) f, P  `7 h成为所谓“大牛”,也不是为了成为“大牛”才拒腾讯。每个人心中都有自己的想法和计$ I- j8 i, t2 R
划,选择各自说喜欢的公司和行业或许是更合理的解释。6 W0 u4 d8 ?" p8 h7 G
*选择腾讯的理由:2 J* P5 o( G- R$ }0 k
1.喜欢IT行业,包括互联网,因为IT/互联网已经改变并会继续人类的生活。
1 S8 y* O) w5 f' J7 n8 t) P8 w2.可以从事营销/销售的工作,这对我职业生涯来说是很重要的,我怎么想,自己还是
2 a3 k* M. m' W! A/ ^- B' n) S& k做不了技术!
' Y" A1 J7 O3 s. O: K& w3.腾讯的互联网行业的领先者,业务范围已经很广,是一个快速增长的企业,所以发* B" s, `' E3 q
展的空间相对较大,只要积极主动,只要敢于创造,一样可以实现梦想。
6 V" {8 r: A; X' m' }' V4.薪资待遇比较好,企业气氛很人性化。' j' ~% i+ w1 h: p+ C
PS:腾讯的不足:企业很年轻,培训制度比不上一些历史悠久的公司完善。  W+ ?  {) |# I& h) L! x: I
*后记:
. ^$ l2 j* K2 j5 C- D( Y以上言论,实属个人观点,不代表任何组织立场:)4 m" q1 X6 {) C. a9 h# q& l
对于还没有拿到的offer的同学继续加油,我还是相信,没有拿到,不是你不行,只是
% i' u5 q/ _# f/ C$ z# Y3 y适合你的公司还没有到来!我发自肺腑的相信,中大的学子,不会比任何学校差!在找工
/ d0 ?5 h! \! S作方面,北京上海的某些高校只不过比我们多了一些机会而已...
; t5 _3 s+ d0 C0 a' f  t找工的历程刚起步不久,或许对于我来说,也不算结束,大家共勉!:)
回复

使用道具 举报

 楼主| 发表于 2007-10-29 15:04 | 显示全部楼层
(自动化-炮灰版)
3 c6 h" L# a4 A4 N8 u' F下午15:20面的,拖到16:00才轮到我进去,问好,坐下刚想说话,hrgg看了我一眼,说,等一下,我先看看你的简历( J' M( p4 J( c' E& O
看了下封面,问,你是自动化 的?我说是啊。然后他继续看简历内容,我想了想,趁机问了他第一个问题,“你们对非计算机专业的学生不会区别对待吧?”gg愣了一下,笑着抬起头说,“不会不会,肯定不会”,看我很虚心的望着他,又说,“对自己要有信心”(第一次鼓励我)然后继续看简历,他一边看我一边说话,说我对软件开发的兴趣云云,说我是冲着你们研发类中的OA方向来得,其他方向的知识我可能不太懂……
' |9 H" @0 k2 mgg中间点点头,有时会应和两句。/ [7 I5 F* Q- S6 t8 z9 y
我还问了问QQ的关于新员工培训的事情,gg跟我说了一下导师制,师父之类的。看完我的简历,其实也就是看了下我的技术特点和项目经验。然后问我懂不懂unix,我说不懂,然后看了看我的笔试卷子,说,附加题的第一题你没有写出来,回去有想吗?现在能说出来吗?我说,回去有跟同学讨论过,不过现在还是不会。看他停了一下,我赶忙说,“由于我是学自动化专业的,计算机的基础都有学过,不过跟计算机的同学比起来,可能基础和深度上会差一些。”然后解释了一下自己比较擅长的是OA和MIS的开发上,这两年积累了一定的项目经验,可能计算机底层方面的不太懂。# z: b) B1 N" {' F: C+ O, |" J* }
云云……$ x. k0 H3 _" C0 k8 n$ W2 ~
然后gg看我不自信,又说,“不怕,要有信心,你的基础也还可以啊!”(他指了指我的笔试卷子,76分)。“其实你不比一些计算机的同学差啊……”(第二次鼓励我)
" Z0 k, }* Q7 }( M9 J继续看我的卷子,看了我最后一题,gg说,你的数据库还可以啊,都用了哪些数据库啊,我根据项目说了一通自己关于数据库懂什么。然后gg接着问我,“能解释一下数据库索引的机制和应用吗?”我愣了下,说了实话,“这个我不知道,在项目中没有用过”。“哦,怎么不用一些索引呢?”
+ t% l, Q1 ]% l5 g! F7 L无语……
) P9 H- Y1 d/ d4 A# g“你比较熟悉asp.net,能说说CGA吗?”狂汗……没听过CGA,坦白从宽。“那后台程序是怎么驱动的啊?”
) x. |# g) D& z- s& L" X从来没想过后台程序驱动的问题,只能说我只是知道asp.net在开发上的应用,一些具体机制我真的不了解。
) f9 i: X2 b& d! e3 h; X+ E然后他说了一通COM之类的,我只能点头(不过觉得gg对.NET好像也不是很了解,不敢说)
9 \# i" {, I& |8 D  H我又说了一遍说可能我的基础上还不足啊,之类的。“对自己要有信心,没事的”(gg第三次鼓励我)
% R9 K8 N5 [1 P  m0 X( d0 v& D之后又聊了一些闲话& j2 ?! d# c' L; s7 ]
最后,gg说,“好了,我对你的情况已经清楚了,就这样吧,我们明天会有通知”
; t" j5 x! e0 O! R我说谢谢,起身告辞。: L- W* y; I- L3 W" K/ c
“对自己要有信心,其实我也是自动化的” ,gg笑了笑。(第四次鼓励我)
7 a9 L. f1 |, V0 n* P3 v我也笑了笑,再次道谢,告辞。4 l2 t: n2 `6 a  F* d3 Q
出门看表,16:10,刚好10分钟。(可能是时间最短的一个)
2 [' h. K- O- B: h总结:
% e7 v2 ]" G9 W- c4 t1、底子薄注定了今天肯定当炮灰了;) D  i; W7 M. q% L' p( S1 v; Z7 j
2、遇到了一个很好的gg,虽然我一问三不知,但依然鼓励我;. V' O/ y2 E0 w( r, B6 ~
3、如果不跟他聊聊其他的话,估计我5分钟就得出来了;. [& _& Y* n9 j8 V. [! e
4、这也是一份经历,前面的路还很长。
回复

使用道具 举报

 楼主| 发表于 2007-10-29 15:17 | 显示全部楼层
(光通讯专业-华工版)
4 R0 U9 N7 a, O& j8 h+ l和同学的交流中得知QQ开始网投了,打开网页,常规性地投了一份简历。几天后,发现很多同学都收到宣讲会邀请函,而我没有,非一般的郁闷,觉得又被BS了(后来才发现原来只有技术类的才发了邀请函)。一个周五晚上10点多突然收到QQ的短信说叫我周六下午一点半去面试,庆幸之余更加开始准备面试了。在他们的招聘网上把他们的企业文化、精神、业务、员工发展、培训等很详细的看了一遍,第二天继续把这些内容背了一下。第二天中午喝完MM煲的汤兴冲冲地坐上263来到火车东站,来到他们的面试地点(天伦万怡大酒店)才1点,报个到hr GG问我现在面试可以吗?答应没问题后就被领到一位hr GG面前,那间房应该至少有4个hr在同时面试,面我的那位GG好像很和蔼。首先还是自我介绍了。这里我将我的自我介绍列出,希望能对大家有所帮助。
- N, p* \+ s6 Z( i+ X您好,很高兴能有机会参加华为/腾讯的面试。我的基本情况在简历上已经有了,我就不作: J) q3 ]7 l+ [/ C$ K( F
重复性介绍。这里我主要想强调我的三个主要特征。
  e1 B! a. [7 {第一,我觉得我有比较强的学习能力和扎实的专业知识。这点可以从我简历上的多项奖学金看到。在学习上我还需要特别强调的是,我最近在国际刊物上发表了一篇文章,影响因子3.78。而这篇文章的结果是我在10天之类用计算机模拟的出 . L/ Y: n1 G/ s; T
第二个想要说明的是我有比较好的领导能力、沟通能力、协调能力和组织策划能力,这些是我从多年的学生干部经验里面锻炼出来的。特别是我在研究生阶段担任过研究生会**,组织过象中国联通赞助的大型迎新晚会,和其他院系合作搞的圣诞舞会以及其他的大型学术文体活动,而这些活动都是我亲力亲为组织和完成的。
2 t2 s3 T, }# G% V! e; F3 {9 g我还需要说明的第三点就是这次我应聘的职位是营销管理。我有过营销方面以及和客户打交道的经验。比如帮中国联通推广CDMA用户,帮佳能打印机公司做售后调研。这些经验让我的说服能力得到很大提高,也让我更加懂得如何同客户打交道 1 u0 s1 V7 S4 P5 K3 b6 r* ?
我觉得诚实、负责以及对新知识的渴求是我最大的特征。我觉得我是一个独立思考的人,是一个很好的协调者和团队合作者。最后用我导师对我的评价来结束我的自我介绍吧,他说:“你虽然在科研上不是最优秀的,但在综合能力上绝对是我培养的学生当中最出色的一个”
/ b) m8 S: U9 L5 a- k我自己认为我的自我介绍是比较成功的,首先思路很清晰地列出了几点,自己的优点以及和所应聘的职位能很好的结合并体现出来;其次,我所列举的特点都有论据支持,而不是凭空捏造的,让hr能信服;第三,很有目的性地引导了hr问我关于领导、营销方面的冬冬以及我自己的亲身经历。事实证明这样的介绍是蛮不错的,后来在华为见老总的时候,发现另外一位成功签了QQ的华工同学也是这样自我介绍的。嘻嘻然后hr就对我的组织的活动和兼职经历提了很多问题,这个对填过很多开放性问题的同学来说就非常easy了。还有一个问题就是问我专业和营销类不符,怎么看待。我强调的首先是我是光通讯方面的专业,和IT可以挂钩,另外就主要是强调学习过程中锻炼出来的能力了(这个相信大家都会吹)。后来他说,“我们换一种思维,说说你的缺点吧”。我又噼里啪啦地说了一番(早就有所准备的了)。这里想说一下缺点的问题,一定要自己考虑清楚有怎样的一两个缺点(当然对应聘职位不是至关重要的了),然后还要敢于承认自己的缺点,因为每个人都有缺点,而且在某方面越优秀的人,在另外一方面的缺点可能更加明显。描述的时候最好还能分析一下存在这样的缺点原因,打算怎样改进。最后一个问题就是拿了一页纸给我看了两分钟,之后叫我说说刚才看到的内容。我发现和网上那些内容是一个样的,狂happy,其实稍微浏览了一下,装作在看,然后就倒背如流了(再次说明面试前准备的必要性)。之后不知是不是他太紧张了(呵呵,夸一下自己),竟然没有问我要问什么问题。道谢告别。
  D1 a0 x) e+ E' K过了一天,晚上又是12点多收到QQ短信二面通知,而且刚刚收到华为面试通知不久,而且两个面试是同一天,华为下午1点半,QQ下午4点,心情难以平静了,躺在床上想了很久应该怎么面试。第二天上午就复印了n多证书等资料,吃完饭出发了。在经过华为3面弄到下午4点多,原打算放弃QQ的面试的(那时完全不知道QQ会有很好的待遇,而且主要是联系不上QQ 的hr更改时间),幸运的是在5点左右去QQ面试的车上收到QQ的hr jj的电话,编了一个理由,然后推迟到5:30。幸运的是一到那里立刻给我面二面了(很多人1点去的都还在等二面),不得不庆幸一下。二面面我的应该是他们的销售经理,因为他问的问题都很专业。首先当然还是自我介绍了(如上)。然后就问了几个很专业的营销管理的问题。比如你怎么看待营销管理的?下面是我的回答。
" _- s" A! k/ M$ F我觉得营销管理首先作为一个营销人员,最重要的目的肯定是推销自己的产品了;其次我觉得更重要的是推销自己公司的文化和企业形象,因为sales作为公司和外界接触最多的人员,他们的一举一动都能反映公司在社会上的形象、影响;然后营销还是推销公司的服务,在售后服务上应该做的很好。这里的售后服务不一定是技术上的(那有技术支持之类的职位),而是一种售后对客户的关心和负责,因为必须保持长期合作的伙伴关系。另外既然是营销管理,这里就涉及到一个团队的事情了。不但在整个营销队伍里面要团结合作,还涉及到公司的发展策略,公司的技术,公司的财务,公司的客户支持等很多个部门,所以营销管理涉及到整个公司各个部门以及营销团队内的管理与合作。
3 B' Y, m  Q  a6 w+ O6 l这些回答其实是我在shell的宣讲会上学到的,再次说明参加宣讲会的重要吧?还有一个问题就是让我用一两句话说说对营销两个字的理解。我的回答如下:营就是经营,经营我们公司的产品和品牌,销就是销售,是销售我们公司的产品和品牌。好像他也蛮满意的,这个就是自己临场发挥的咯。最后还问了一个价值链的问题,他让我列出三个我认为最重要的作为营销人员的价值链,我完全不理解价值链,只好根据自己对营销的理解以及宣讲会上学到的知识做了一番回答:首先最重要的是公司的文化和形象(解释了一番),第二就是公司对社会的责任感(也从公司的长远发展和生存之道吹了一下),第三当然就是公司的利润了。不知道回答的好不好,反正还是通过了。最后他说没问题了,我主动提了三个问题(一面的时候准备的,嘻嘻)。首先问了他关于非营销专业同学进去后培训的问题,然后就是关于QQ是否会有自己的主导产品,他对这个问题从品牌方面做了详细地解释,受益匪浅。最后就问了他怎样看待Popo、so Q等效仿和竞争的问题。他又噼里啪啦解释一番。& {8 S  J2 _2 P6 p
接下来就等三面,等了近3个小时,肚子饿的荒,和另外一位同学买了个麦当劳套餐,呵呵,精神多咯。没想到最后一面幸运的是,我不是见他们的hr,而是见他们的老总,只问了一句话,“如果让你明天就签约你愿不愿意签?”斩钉截铁地回答说“我愿意”,就像入党宣誓一样,呵呵。当然也给出了愿意的理由(其实就是你为什么要进QQ了),因为他还
! F+ v& J" s1 {7 u/ C说了一句接下来还有很多很好的公司招聘的哦。这里有个小插曲,有位同学在答这个问题的时候把“我会毫不犹豫”答成“毫不愿意”。呵呵,可能太紧张了吧。5 ]8 @6 t3 n: m$ @( N& R
第二天下午就要签约了,我自己考虑地非常清楚,我喜欢这个行业,我喜欢这个职位,而且QQ给的待遇非常有吸引力。所以我就去签约了,在签约的路上收到联合利华的拒信,更加增加我签QQ的决心。
/ X0 r; e' `  d9 o5 g1 N下面的华为、shell、北电经历待续…
回复

使用道具 举报

发表于 2007-10-29 15:18 | 显示全部楼层
不错的面经哦[em09]
回复

使用道具 举报

 楼主| 发表于 2007-10-29 15:20 | 显示全部楼层
(面挂版)( c3 }3 ]& T) S+ f7 B4 v  P7 `' R
本来就不志在找工作,所以当别人踏脚石也不错:)(突然发现偶很高尚呵呵估计是阿Q精神)
5 q2 i; U* ~7 Y; w  i* I; E' C5对5分组,先自我2分钟介绍,完毕后桌上有一个案例,不知道是不是每次都这个案例的.6 a+ A' Z8 K, r
题目是什么月球上,你和你队友的船离母船还有200里的距离就着落了,你们需要去母船上,下面列了15个东西,选出一个你最先丢弃的:
1 u/ }2 Z) ^) U3 x3 h) {( U  B6 E一盒火柴\两只手枪\氧气桶\指南针\星球地图\热手的什么东东(具体名字忘了)\奶粉\浓缩; y5 R8 C' R) Y3 l1 U/ O$ U( n
食品\50尺的绳子\降落伞~~~~还有些什么的忘了,没注意看题目& F- ~4 q. _" D5 I$ A
先两组每人3分钟看,然后就自己选出一个,再小组内部讨论.2 [. m- b- o/ a9 H4 z# ^
我以为这个需要测试的是团队合作精神,要懂得协调,所以在最后的时候我修改了自己的原
# {! A) f) p* B# N$ g- z先选项,因为我们组有3个人选了手枪.
" g+ U5 }3 e- w5 G结果证实我猜测它测试的是团队训练,是错误的.
- b4 Y! i1 ]/ C' ^它貌似是要你自己坚持自己的观点,不要管TMD团队% F: h* G' q8 P" I; P
最后显示结果是火柴和手枪的对阵,选火柴的到一组,选手枪的到另外一组,然后两组开始
9 M, Q( J0 u+ [& @3 Ddebate.
) }. f8 J, U2 H5 H5 Y0 [7 R5 Y/ [说实话我当时一听说之后是要再辩论,就知道我揣测的它的测试目的是错误的,这个根本就. v2 T9 a7 x# ~+ y' m
是要你再次的坚持自己的观点,而不是要你什么牺牲小我,成全全团队的.7 z" G7 _( L* p* b6 C
所以注定偶最后修改答案这个做法是错误的.
# f7 R& N( q/ i4 G! n2 _9 p/ U  n* {后来在KFC呆了一下,觉得太不可思义了.回忆了一下后来留下来的人,特点如下:
5 w$ Y$ r: \0 @& v- T5 P  i  m在开始选择的时候,可以看看同组的人,大多数人的选择你可以选,然后扯出自己的两个理由.其实这个是个取巧的方法:)
( l6 Q1 O  p; R: ~第一次在组内讨论的时候,发现自己的不一样,要不最先放弃自己的意见,然后再根据别人的选择,编出自己的两个理由不要引用别人的理由要不就坚持自己的意见到底并试图说服别人接受自己的意见,不接受也无所谓,坚持自己的意见就OK了.% j5 }1 X& y/ O4 h8 M/ ^
千万不要起先一直坚持自己的观点,最后为了所谓的团队一致就同意别人了,我就是鲜血的例子呵呵
1 \  ]6 N" J# p0 [; ?. C% k8 X2 W所以就总结这么多,最重要的就是原来这个小组讨论不是要体现团队精神,你越能扯出自己8 Y, x4 ?5 s0 v, \: C# L4 U
的理由,哪怕很牵强都很好.不是大家原先想的要少数服从多数,为了集体利益.2 V8 l3 q3 N5 Z  b% ~
至于留下的人要怎样,就等留下的人有兴趣继续说吧.偶的总结完毕,归根结底就是偶的揣测* c2 U+ j9 C0 G$ {' Y& _
是错误,导致行动错误嘻嘻
# s5 l( G7 l9 H0 m就酱紫呵呵,貌似俺是面挂王呢,宝洁\腾讯\BENQ~~~都面挂,挂了好,这样俺就专心的KY去了: W, a; R' a! I: P
:)希望能帮助后来人,bless~~~~
回复

使用道具 举报

 楼主| 发表于 2007-10-29 15:25 | 显示全部楼层
(分享程序版)& O" B! M& b& h) Z0 Z  F' d, c
简历想做后台的开发,去了之后发现是被做客户端的给看中了,偶是几乎从来不写界面的,两年没玩过对话框了(本来偶也没写过多少带界面的东西),聊了几句,说说工作经验,没什么问题,问了一下windows多进程通讯的方式,这个我比讲的都熟,除了具体哪些函数怎么调我记不住(偶总是用到查),什么管道,消息,事件,socket,文件,注册表,内存文件影射,mutex等等偶全用过,对内存映射文件还正在深入研究,聊了十分钟左右,拿来四道题(具体记不清楚,只是大概):; z" @. O: @. Z9 J; J) B* a9 j
1.自绘按钮有几种方式,要处理哪些窗口消息
  F5 y6 }0 p0 T2 N2.LPCSTR,LPWCSTR,BSTR的转换等,
3 y3 Y4 ^1 d' w2 Y% a* N+ H  s4 O4 i3.处理+-*/()和数字组成的运算表达式,写出数据结构和伪代码; }8 E8 n$ d2 }+ x, \1 X  s' P( s8 Y
4.运算两个超大整数

8 m+ k7 K% d0 a3 a2 ?第一题,偶不用已经好多年,以前画过,但都是画着玩,反正自己兴趣不在此,直接说不会  X- l6 l$ K3 W# U! l8 i
第二题,偶用的时候都是翻MSDN,不记得,说没用过.BSTR是真没用过
- n* H& p+ a. ~- W/ b" i第三题,第四题,可是我的强项,嘿嘿,可惜,我一个都没写出来  T8 h# u; V$ `. m' l
在纸上,我仅仅把我的思路写出来,回答如下:& Y; T5 e7 T$ p9 V( I
第三题:数据结构:树,常规写法,代码量比较大。单纯的四则运算可以用简单的递归实现。(ps:我看到题中的“数据结构”便想到了编译器的实现,便想到用树,嘿嘿,走入了误区,他只是想让用递归写出来,但我以为他是让用树实现,递归哪会用什么数据结构可写啊)% q+ C9 F/ h9 I: S# @
第四题:将两个大数的字符串读入,然后把字符串拆成小串组成两个链表,进行两个链表的组合相乘,再处理输出。
  c8 d: |3 Z$ K5 J$ `& z结果是,后来让我到机器上写,偶还是写不出,吭哧了两个小时,到五点半了,头疼恶心(最近身体不适),就给他讲我今天有事情,水平距他们要求比较大,一个都没写出来,他说那“改天吧”,嘿嘿,我就灰溜溜的走了,从来没这么灰过。最另偶郁闷的是,偶问他,有人能两个小时没有提前准备写出那个串处理么?他说,可以的,没说要用树实现,用递归写。偶FT。7 |& d& ~. ?% c
面试感觉,不是本来我想尝试的岗位,所以去了解之后就不是很在意。腾讯的员工大部分态度是很好的,公司装修的很气派,可以看出来,应该待遇环境都不错。那是谁说的,系分可以拿1XXXX,偶就是去看看是不是真的,结果做了半天题,没看成。7 r% D. ?# Y) {8 I
不过我的面试很失败,偶从没有面试做半天题过,汗。, G( `9 `1 m2 e9 V  U- P7 k
回来后,我真的觉得自己太受打击了,偶当初考高程时,程序能力题可是满分的,各类复杂的算法和数据结构偶没少用。虽然好久没有看过编译器了,但决定一定要用树把运算表达式写出来,并且不借助任何资料。吭哧了4个小时,终于完成一个不完善的版本。7 g# Z  E! m- L0 P+ j
大数的运算和递归方式处理运算表达式明天晚上再写。
' c. h. d# T4 L+ O" M我不知道那个面试我的人想到用树实现没,偶的水平,2个小时是打死都写不完的。偶把偶写的程序贴出来,要是谁去面试,可以借鉴一下,嘿嘿。
! i1 Y: m# D* g+ R; D8 N! B......................................( t  _9 N" D- D: a
#include 2 @) _  _: w+ M/ X$ E6 S9 a  g6 y
#include
- G* W+ a+ K. ]#include   ^. ]  {) f1 k! A; F
/**
. O: C  R; W, ?6 M% U*3 z! u$ c5 w# O8 }8 M) b
*因为程序退出,就释放进程所有内存,作为演示程序,就不释放内存了
+ `& L0 ]5 t/ }* F. b/ Y! V2 `*
. f: d0 r$ q9 H* q9 U' T*
( S$ }" P: B) r8 @( N- G*
+ r  C  X5 n9 A; r% |' \* z. Y*
4 K5 _# d, I9 A1 L3 L6 w**/
9 Y" u: f! j8 i% O+ R* Q3 ^* e$ i5 J) [" u4 N
typedef struct _node6 ~: s: b1 r4 V& v  D
{/ s& Y, H% F- [( J& x+ A
struct _node* parent;
7 \1 }) K  z. Q: y; }struct _node* left;
0 b8 Q- d( A. x9 \1 [: C) Lstruct _node* right;$ G; J! i* a, P- X* c( y/ P
char opt;
. t5 A- z" l7 C! ^, P. \4 Nchar c1;
' r8 R2 Z! E" `3 Uchar c2;
4 S) d/ k: J1 B; v. h5 I7 |int data;, |4 \  _4 t: V- x
}node;" I0 e% D. M" ~' J
node* root;- A9 C% W. L: ]2 y  D, T
void error_exit();
3 o# i" {( ^2 I- F9 p/ ~: H* Mint getint(char** p);
5 R: x/ b4 f5 G0 V2 vvoid exec_use_callback(char* p); //通过递归方式计算,因为简单,回头再写
& Q  p* ^; B' c3 Jvoid exec_use_tree(char* p);
  h9 v# z9 G& x0 ?void tree_insert_char(char p,node** pnode);
# U4 X( _, ^6 l7 `void tree_insert_int(int n,node** pnode);+ U( T& m; v$ t8 ^- @( ^
int tree_result(node* pnode);
/ B- X2 A1 \( T1 _$ o% Y2 Dvoid reset_root(node* pnode);
' k3 D! {9 [, h( w$ a' Kint main(int argc, char* argv[])
6 p0 V' r! L0 _! |- ]& c3 Q{
& u+ W4 i% F7 A; \char buf[1024];
0 F5 l5 i$ p- c/ h+ iprintf("start test program for compute\n");3 ~) S* t# Y# O. O: w
if( argc<2)# `8 ^, `/ B5 n- N
{6 f3 u  z3 J4 a* X$ I# d8 r3 G
printf("arg is error!\n");. i$ U/ z/ g' K' l
exit(1);
% E$ @% S' O) y  [}, T( X- c1 m6 ^. W0 M8 ^
memset(buf,0,1024);$ R1 ^2 C% @' y' R* A+ I1 |
if(strlen(argv[1])>1023) {
  U* Y3 r& v) d) ^- sprintf("cmd is too long ,can't big than 1023\n");' t% n  v9 Y- x7 X5 c( m
exit(1);
- E9 q" }7 R( b! Z3 F}! q( ~* `$ h, F9 q, i. Z# I& I
strncpy(buf,argv[1],1023);
* U/ ?- B$ B4 }8 p1 [printf("the expression is: %s\n",buf);
# |5 T/ f/ T7 z5 L1 N) b* b; F; ]exec_use_tree(buf);
: Y% `# A( I8 F$ e" {2 |/ |exec_use_callback(buf); //暂未实现
" i8 F8 V1 z2 i0 N: g( B/ d4 dreturn 0;
, j! c2 B9 F. s5 d}
4 T3 H" c, f# Jvoid error_exit()% i/ u2 J/ v1 U
{. ^/ F9 r7 ]6 K+ ?% w: z4 P
printf("error,exit!........\n") ;; o1 F9 F; H$ n) o2 @
exit(1);8 p7 k& C) ?4 A. \3 l  N8 H
}
- H5 U" C/ X2 Xvoid exec_use_callback(char* p)
, R0 y0 x/ \+ V, X' ?  t; w2 ?{/ `3 _, ]! P, P$ }" ]$ ?# a  U
char* ptmp;
* R, J, q# K% y% V9 Optmp = p;
1 E! E8 k# F* u' }, Ureturn ;
1 B7 |0 c8 a. x# b# W) w}
+ [+ Z2 ^" g' k6 }void exec_use_tree(char* p)
% Z- r5 x9 `/ @5 d' {' Y( P* d6 ^{* t; M5 O" n6 ?- q% y: [. ~. Y: s. P
char* ptmp;
/ A% Y% V1 L9 F1 O1 |7 A  B8 [int n;
5 G; i: A1 T+ Q: Fnode* tmp_node;
% r8 r1 T1 m: s" W2 R& M( [ptmp = p;5 Y7 Z; N/ p4 m3 C4 E1 l, W' K; B. ?
root= NULL;" W* A" `  R' _  |* R
tmp_node=root;' T$ z  o+ g; j5 p
while(*ptmp!=0)8 Y/ ]2 K, R7 J  `( ]  P' W8 f
{: y0 M8 [2 W! q2 x, L
switch(*ptmp)$ N: C* D: {4 u' L3 J" E
{
; P3 {8 G) a" R% c$ `8 S! {) [case '+':
- {7 m  U4 x7 R: Kcase '-':. `! Q: q2 d9 D; L+ c- ^
case '*':
; l1 E3 t% {0 bcase '/':* T8 r$ o/ ^9 y
case ')':: l& K0 g% w6 \9 k
case '(':" ~3 z1 Q* o2 B9 D! b$ s
{
/ c% B8 i# D  |" p! ?! Q1 Y' h# Rreset_root(tmp_node);
! P/ P6 D* ~7 g: qtree_insert_char(*ptmp,&tmp_node);9 k* ~3 k" Z7 M. m3 u0 K! [
ptmp++;
' G& S7 W# a2 R) q( w, h  \. l/ _1 H}
+ \; h7 Y% l) K: }% L8 Y3 abreak;- B5 J/ S; t! ]2 w; Y( i! T
case '1':
4 Y% X! {7 n& M8 w, R) C& Bcase '2':   E2 q/ w, V. Z7 Q- R
case '3': 1 Q' P$ g- ]) u
case '4': . v6 u* m4 l9 Q; t
case '5':
) \. w5 a! X2 o% acase '6':
0 e* X% Y+ v2 V3 n- x  b- ]case '7':
8 q  e; b, M/ r! u% ], [$ v# Xcase '8':
2 c! \3 u; q8 h/ b8 V- f8 Ncase '9':
8 G! J# C& h' s7 b! ncase '0':) W4 b$ z2 N" A9 \3 ~- W
{
& ]$ M0 |& w. pn= getint(&ptmp);4 F/ _2 P, j& u% B) l- t- o8 _
if( n<=0) error_exit();
& V; w/ f, N6 u: D9 B! {reset_root(tmp_node);
3 u" C# e: h% ~1 @0 etree_insert_int(n,&tmp_node);" ~, d6 K3 A4 ]" L
}" U( Z; f; a1 B) N& Y
break;+ r) G2 i5 E  q. w# y# ?; F1 M
default:
( q6 L+ U# K% J/ j/ N1 kerror_exit(); 0 C9 @. e3 \5 Y& _
break;
. {$ j+ ~$ u5 N9 g}
1 v# s) N, ?) Q/ v3 y5 C}
6 V* c% I/ |' C7 a$ M* \& f//采用中序遍历二叉树求和& O. W7 @  q& [7 _% }3 M. |/ G
reset_root(tmp_node);
' Y1 B: k9 {' `% a- W9 I5 @n=tree_result(root);( g, I( {: L' y+ X
printf("the result use tree is: %d\n",n);; w9 h6 D8 _( j6 h4 H6 f
return ;
2 Z( o/ i% q7 T5 _) g( q+ j}
  Y' o) K8 k( u: ~; p, [void tree_insert_char(char p,node** pnode)5 x; G4 l/ ?8 Q8 L1 i
{
* A% u. u8 x; B& O4 p" t- k3 anode* tmp_node;5 h: n2 g3 }! w# V" U% X" }
node* tmp_node2;
) s+ ], n) R+ lswitch(p)
( ?; q2 B* S$ Y" R; J: i" X{% ~( `9 M8 G' S3 y+ H
case ')':
' L, t+ V6 B  D4 t{
* Q- _% Z% v4 kif(*pnode==NULL) error_exit();& J4 s/ {# {: d' j  u
tmp_node = (**pnode).parent;9 v4 \6 z( \, C6 w" G
while (tmp_node!=NULL)  B- {7 }" q. d1 {0 I0 N' L  ]5 Y0 z
{! e9 H' S) Z% U' J
if(tmp_node->c1=='(') {
3 _& N4 |# q/ P2 K5 `3 a( [*pnode = tmp_node;
, t9 A# U7 ]& u0 k3 T$ Qtmp_node->c2=')';
/ D' `" ^' C+ D- c8 ?* {if(tmp_node->opt==0)
6 J- G) m! Q$ j. m5 _5 V{
7 y- O8 ]# u  h# t, Yerror_exit();
+ n! x6 z# D9 j}
: q: L3 |) H7 M* rreturn;
, ^% U5 F' n2 [, L0 N5 E}
5 ?0 o1 T+ w/ Z5 k0 G9 B. Qtmp_node=tmp_node->parent;  {" i+ K% q  G- H0 c3 W( R
}
& O# ~0 @: f$ Q2 A' Cerror_exit();
7 G: E$ n7 N$ t8 B' G6 ?# n}
( x0 w7 Y( y+ jbreak;) s2 l# g% v8 R. n) y
case '+':
8 M: \$ s6 W4 X0 ]4 V: {# a& A) w9 J1 q$ acase '-':
: i& q( z* V: L" v: V% V, P( Q- h0 B- }{
! A2 E6 S9 }* _9 @/ M/ ?' vif( *pnode==NULL){//演示程序,不考虑带符号整数的情况5 M, Q: Y2 L3 v2 O$ p
printf("error expression,exit\n");% K+ ~( E4 H5 D  g6 Y' o
exit(1);# G, |4 t' z8 \- K
}
  c. n0 U) S# R$ o! ?6 uif( (**pnode).parent==NULL)
! G8 Q8 F5 c6 \% }& \  m4 F" M9 J{ //根结点时
  c9 _4 X, P: `1 t$ t2 C+ v( ~tmp_node= (node*)malloc(sizeof(node));
% Z5 b" @' F( }, y1 o8 J1 {memset(tmp_node,0,sizeof(node));7 C; B9 `8 l6 F6 U- F
tmp_node->left = *pnode;
0 i6 n4 E3 I! `3 r9 G(**pnode).parent = tmp_node;! O5 `$ z2 H4 A
*pnode =tmp_node;
$ u- p" J7 U2 u  g" btmp_node->opt = p;
; M( c; ?% w' Q" p" X. V8 a. A}else{
" n7 s$ s( A! k) `" itmp_node = (**pnode).parent;1 S1 q7 l* D6 @  M
while (tmp_node!=NULL&&tmp_node->opt!=0)
! I7 u1 ^- _8 p' T3 v3 {{
3 F& g0 d' X* P2 c2 b' M: w$ ztmp_node = tmp_node->parent;  n: s9 V) Q3 ]! |/ A  R& S7 b" d; u
}4 `: K; d1 u* @. V! j, n7 c
if( tmp_node==NULL)) ]" s4 g( w) }* ~" K! @% g
{
8 q, r, d- U1 X- k" Vtmp_node= (node*)malloc(sizeof(node));
) R- d" I9 q5 P! r3 E! f0 Pmemset(tmp_node,0,sizeof(node));
+ C" |7 j9 r3 l( g( Xtmp_node->left = root;
4 `! j& ^  @6 P+ ]1 proot = tmp_node;4 e* [, T! s6 o9 N& X8 @& E. v
*pnode =tmp_node;
1 T% h0 M- g* ?+ n1 xtmp_node->opt = p;
. z, C$ ^0 P! x( L( E}else{7 t3 T4 g+ C3 {$ C, Y& I
tmp_node->opt = p;
5 U% Z1 K) _$ t9 o% O*pnode=tmp_node;* R: ~* V  s& ?. `8 A# {
}% `& s- E+ n6 z0 P" N  n
}; G' E) u$ W9 g7 G
}
" l, }$ y4 w- h. c$ t' obreak;
! Q8 s. ]' r5 o( _* D% S  ~% Ycase '(':  a. T) T, v8 E4 }% j
{
( e/ W4 r6 C, i0 u2 G. D: Hif( *pnode==NULL){
$ L) l* j! A. z4 S7 e7 y/ c( Q" `*pnode= (node*)malloc(sizeof(node));
4 i0 H* C7 G& d) j1 jmemset(*pnode,0,sizeof(node));
/ L, `: m( u. o0 u+ r8 r(**pnode).c1 = p;4 n" T- P. [( s0 I  x7 U
root = *pnode;
8 [7 R7 o$ k; [# k}else{
9 s+ X4 R6 h* {2 J( ?- stmp_node= (node*)malloc(sizeof(node));
4 r/ L8 G6 f% R- _& x2 lmemset(tmp_node,0,sizeof(node));7 b4 ?6 J. i( Z$ L( `: l
tmp_node->parent=*pnode;# l. L# p$ I) L3 ~+ t; v2 r1 j) N' J
tmp_node->c1='(';
" Y) p$ H' x7 u+ C! U( J/ x% sif((**pnode).left==NULL){
: D8 k& D' C- N) P% B, d2 _(**pnode).left = tmp_node;) e2 X7 |& o3 M6 t- b* g( \" M1 k
}else if((**pnode).right==NULL): |0 M  o# M( f; |
{5 x0 F8 t0 z% D1 U$ Y1 z6 y. v9 W
(**pnode).right = tmp_node;
& z9 W. [, H6 k) D, v& ~}else{9 {1 X8 u4 F9 P1 g0 B' j% L  }
error_exit();
8 X4 ^3 _* E2 M; d: g}) ~' B- k4 u8 l1 b% b
*pnode=tmp_node;7 w1 x1 u, w1 ^5 v5 Q
}: Y; f* R& n3 }% G
}
; V% }- ?6 d! n/ \/ s  @) B* dbreak;* b; ]# V  }4 z
case '*':
6 [* z, M# a$ K4 ?( Tcase '/':
0 ?% N8 A( U- ?7 Y1 ?; A{
: ^& u* w0 ?1 z, _if( *pnode==NULL){
" G  N  ~7 S4 H3 M) V; Vprintf("error expression,exit\n");1 A/ ~) Q2 n7 G! d
exit(1);
) h0 G; V  \7 i  I}3 O, P# i% t* X0 U7 h, B
tmp_node= (node*)malloc(sizeof(node));9 }6 Y) B9 W- j
memset(tmp_node,0,sizeof(node));
: B/ s: R# l" q/ ](*tmp_node).opt = p;
/ G, q3 m' A( ~9 V: k, J9 o6 Htmp_node->parent=(**pnode).parent;
- L) w) Z6 Z- O8 H! m: stmp_node->left = *pnode;/ |6 x$ ^! n# y) I# P( q0 e, L& n
if((**pnode).parent!=NULL)5 x6 `; v% k) U5 N; O
{, @1 m- Z. S  z& _; j
tmp_node2 = (**pnode).parent;; R( z# h+ e% K, F
if( tmp_node2->left==*pnode)
% S1 S- V4 M- J! A: m{
8 D, E! \4 d" q9 ^1 R$ @tmp_node2->left =tmp_node;
( S9 L" t. k1 ]6 o) {8 q}else{
/ r# O: t, e9 v, Atmp_node2->right = tmp_node;
$ @# f0 n" u# b: C4 s/ W; T}
; r# ]  j& K3 G# T* G}4 j; _4 j. ~1 r( c6 v' i' T' G
(**pnode).parent = tmp_node;1 |) m* D! [  i$ G( b. E( D1 f
*pnode = tmp_node;
9 n; `1 t% b  A# q$ Z- B8 D}. S5 b8 t2 Y; u* ~. o
break;
4 W! E! W; R$ ?( W& ddefault:
- E( [  [" B+ D0 j0 p/ [: J  k{
( N8 Z( Q2 i. K! T8 @printf("unknow char,exit!\n");
( P/ I# C1 N) L4 Y' R7 U. ^exit(1);
5 P6 H  n+ M$ a# u9 x+ Z}! p! I& M$ D- O* V' o4 }
}; W( ?. ^( b8 ~# T7 p6 i
return ;
8 }2 {( |5 p+ {" G6 ^8 h/ h6 q' M}% V0 I: o! h& E
void tree_insert_int(int n,node** pnode)& t8 u6 R4 S1 E
{
# h: a1 L1 A4 S, R# O& a" ynode* tmp_node;
! V5 ^' N. l+ [: Q6 @0 Utmp_node= (node*)malloc(sizeof(node));
: q" c9 C" b, Y( e0 E4 wmemset(tmp_node,0,sizeof(node));* Y) @, K6 O, E/ m
tmp_node->data = n;+ y! v, }: R( J9 d" q
tmp_node->parent = *pnode;
4 p' `2 p; V# u  tif( *pnode==NULL)
/ u! o( s3 N% g# W{  d8 X% B! }( x; ~
root =tmp_node;
8 }  M/ x1 \+ S- P+ V- |* F}else if((**pnode).left==NULL)
* E5 \% ]- Q: ~{
% ]$ n! M# M$ m(**pnode).left = tmp_node;
. A, T; o) X$ \% f* l}else if ((**pnode).right==NULL): U' k/ d' Z) S
{( l, O- Y' q6 s* I
(**pnode).right = tmp_node;& a1 p. I& A) ~
}else
8 @, ~/ b7 C) s{
) ^$ E4 @5 ~/ b, Verror_exit();
6 Y, r; J/ t+ n6 ]4 X5 d, ]}  n; u4 `9 S3 [! x" m3 h9 z/ V9 Y
*pnode = tmp_node;
2 A( p7 x! I# jreturn ;: C7 G- Q% O9 ~* |1 R- u
}
+ m; K6 C8 Z, u% ]: O4 Aint getint(char** p)9 M' X6 b* x) x* g; T) K
{8 g2 I0 G+ y# @0 H
int ret;% a4 z, e0 z* i0 D
ret=0;$ [8 g1 r, r  K) t  j3 D% Y0 R9 ]
while((**p)>='0'&&(**p)<='9')
0 f# M7 C; E8 w4 i8 v% q% s{3 f* V, f$ K4 ~9 }6 R1 N/ X+ F  a6 J
ret=ret*10+(**p)-'0';' I! f# x2 v: o/ }4 e& l# z
(*p)++;/ W3 C* U% b2 }9 L6 E! z
}0 U8 P' l" L" M% ~/ D2 s
return ret;
: ^% |) u6 o6 w' k" v8 W" O- F* O# V}
: b! n4 h4 o. l1 Z. q% ]//递归计算树中数据和
  T" h- s+ w, l: Lint tree_result(node* pnode)
+ Y/ ^4 V6 w: s# c* h. r7 c: p1 F; Q{# Z* N4 E' H0 p
int ret;
) r* q2 G& O7 u. g# Xret = 0;
  B% d+ c) w0 d3 ^4 D( [3 E2 c% Lif(pnode==NULL ) error_exit();
3 o4 o& ]! B3 I: rif( pnode->right==NULL&&pnode->left==NULL) return pnode->data;
; X  J$ \. C2 S6 Z( fif( pnode->right==NULL|| pnode->left==NULL ) error_exit();, ]% }* `( T1 b9 X) \" `6 x' E0 y
switch(pnode->opt)7 b& M) G: T! g
{
  |1 M, A& G6 _9 G5 J$ O# b- X/ ocase '+':
' c* I$ W7 q  x7 ~4 X{* W: p& B8 x* C* S! Z7 x3 h
return (tree_result(pnode->left)+tree_result(pnode->right));
( T# ~6 L& Q' F; S" G* n}3 i; @' z* Q# ^
break;8 V( ]3 M: T& b% N% Z) m
case '-':9 V( C& h0 U6 x$ T  {  x
{1 j, Q8 O$ G! A* f4 s2 }) x
return (tree_result(pnode->left)-tree_result(pnode->right));
% p0 @2 V+ Z# U2 M( |% B4 `& X' V}5 [" V; m( x  C* w7 J8 \! o8 E" g& v
break;
0 O% e! g3 B' o, Vcase '*':
" L2 u- ]9 i2 Q+ g* B{
: B0 n0 r& v" A7 v3 @' Nreturn (tree_result(pnode->left)*tree_result(pnode->right));
% e+ k. H6 g# s! Q% r* y}
9 k7 C- b9 y. @break;
( s. R0 C, r6 H: b: Vcase '/':4 h( y" p; ]( d1 w3 g7 I
{
% P" d4 T  h+ u2 ^3 l  K% jreturn (tree_result(pnode->left)/tree_result(pnode->right));
# g# C+ r, w" W% H* ^' _}
& W  C$ K! v, q- wbreak;' J' ?9 u* M" I0 O$ C, @
default:
/ d5 }& \+ C; X% Oerror_exit();- I; w5 z& y, I. U0 w
break;
2 t4 M/ w. |) Q& p) b}
4 b8 o" N3 c5 Creturn ret;
1 \3 Z& [' D/ y3 V  U}
: r- B( n) e& `- \8 Bvoid reset_root(node* pnode)
. m6 p( B6 ]2 p! `7 Y- X3 c{
! @- l( |6 I* i4 S" l" Xroot = pnode;
2 l% t. A1 Q! a7 W$ U# }if( root==NULL ) return;
! p; w; f. X8 d* l* u! X; P9 Xwhile (root->parent!=NULL)2 w% k7 `' n2 B$ B3 L
{3 _& j! z5 n- p+ i9 G- }
root = root->parent;/ r- \# q& O5 T9 Z
}
, a% J9 H( \0 g5 k& F  U  z}
3 k8 {% `/ A  S( s+ n( o* v/*
4 P/ N2 }) K; L+ {) H7 q3 J按照算法, ((1+2*3)*4+5)*(6+7*(8+9))+10 表达式生成的树形状如下:
- X1 ^, g5 U( f0 I) O  b--------------------------------------------------------------
, x. \' f2 y, p; y7 Q; M  R: o: W+7 C6 y7 H: d4 L* t0 z
/ \# `; L2 W  Q/ a% K  W6 H" Y
/ \
% P; p+ r5 n1 a* 10; X  s  p6 m, @% e% a, L
/ \4 @8 f: Q7 G) L( j9 f4 ~1 e1 o
/ \2 O+ Q6 O. L6 j4 g; n
(+) (+)
& ^- I/ y$ |# w! S# h1 v6 m/ \ / \
* g$ R7 }& J2 a7 H& d0 [/ \ / \
! o4 `5 }' w: g* 5 6 *# L$ |: b6 {6 u: `/ Y
/ \ / \
8 E- A: [" P5 X- c! o$ V/ \ / \
$ Y9 g$ p+ a1 I3 f& _* C) m(+) 4 7 (+). k$ t! I- Z9 t; v8 p
/ \ / \
$ `$ H4 X6 H4 Q/ \ / \$ t' \! V9 Z3 f: m5 l
1 * 8 9
+ `5 b' `# t; z6 c( @. r- P; Q/ \0 s6 v1 k" o& O8 p' h% \7 e# t" I
/ \
# z; I+ ]& d! Y+ G* @2 3
1 j2 ~; A. e+ I4 [# n-------------------------------------------------------------------------
7 \. g, r: L, k. G按照算法,1+(2+3)*(4+5)*6表达式生成的树如下:
$ I+ g0 r. O" a) N9 T% g7 u-------------------------------------------------------------------------
( d/ s0 r" D+ i& s+ M9 _2 X2 |+: y6 D$ _  W( g- r2 B
/ \
6 g$ k- y0 T, R/ \) V0 r8 @/ E0 V/ O! \9 F. A
1 *
# K6 T( D/ `+ V) t/ \
% u0 U3 B. U8 J8 C" W/ \- H* ~+ ]( a( Q% ?" _
(+) *; w9 z* s& {$ }' ^/ R4 M1 B
/ \ / \
0 \+ x" X& e: B0 ]$ ~: N: b/ \ / \
* X; }5 I6 h  y6 {# n2 L" s; Q2 3 (+) 6- ~7 w1 {, E6 V
/ \# O* d, P1 @3 X, y( e
/ \5 c+ p+ Y2 Y4 R
4 5
1 h" s+ J- u* _( u+ v, Q*/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2026-3-21 21:41

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表