首页
社区
课程
招聘
[原创]腾讯面试日记
2011-1-26 00:41 265106

[原创]腾讯面试日记

2011-1-26 00:41
265106
在一个月前,正当准备回家的时候,突然看到**兄招人的信息,由于无心准备找工作,所以也没怎么打算投递简历。后来随便聊聊,才知道是腾讯招人,在和**兄聊得比较愉快,所以就投了一份简历。**兄看后,便说通过电话面试。于是就电话面试了,主要是面试了以下几个问题:
1、_STDCALL的参数压栈方式,堆栈平衡方式
    这个比较基础,是从右到左依次压入,CALL内平衡
2、C语言里wsprintf参数的压栈方式,为什么
    这个也比较基础,就是从右到左依次压入,CALL外平衡。为什么,其实当时我没想起来,**兄告诉我了,是因为wsprintf的参数是可变的,当他告诉我的时候,我突然想起来了。。
3、PE里面物理和文件地址的转换
    这个也比较基址,我自觉得对PE还算了解,还算熟悉,所以关于va,rva等这个没有问题。
4、常见的注入方式
    我当时说了,注入的方式很多,常用的有lpk、pe感染方式(也就是导出函数方式),输入法等等。。。
5、OD常用的快捷方式
      我平时比较习惯于用鼠标,因为我发现窗口最大化不是很好。当然常用的还是知道,哈哈, shift+2,f2,f7,8,9,alt+e等等。
6、IDA的结构使用
      这个我只会操作,所以使用,电话里面我没说得很好。
7、如何分析一个数据的方法:
      我答:通过输出字符串,导出函数或者CE工具,定位内存地址,通过IDA静态分析结合 OD动态调试,很快就可以找到想要的了。
7、目前游戏常见的保护方式,及其破解方式
      我说了NP、HS、GPK等保护的特性,及破解方式。在这里我就不一一细说了,有兴趣的朋友,可以私下交流。

    这个电话面试后,hr来电通知我说电话面试通过,要赴公司面试。其实不管3Q大战还是以前,腾讯给我的感觉还是挺好的,很多人都说腾讯喜欢抄袭别人创意,但是站在一个软件工作从业者的角度,我觉得还是挺配服腾讯,因为我看到了它很多产品有自己的创新,特别在用户友好方面做得比较不错。所以内心还是比较喜欢腾讯的,于是决定以后在那边发展,在网上更新了简历,令自己很开心的是,得到了腾讯互娱内部(至少有3位朋友),包括华为,迅雷等其他公司的邀请,但是说实在的,其他公司可能和我自己喜欢的方向不太匹配,所以我委婉的拒绝了。心想能去腾讯从事逆向方面也行,于是订好机票过去了。

今天下午2:30面试,第一轮面试就是**兄面试,
1、第一个问题就是进程间通信的问题,比如一个外挂注入游戏后的dll,如何和面界exe进行通信。
    这个就是内存映射的问题,当然我还向**兄画图详细讲解了我曾经分析一个游戏的程序,engin.dll如何同ui.exe进行通信交互的。
    有必需要的朋友,大可以一起交流。涉及到外挂的隙疑我就不在这里发了。
2、一个函数如 funA(int a,int b,……);如果在这个函数内部打出CALL调用后的地址,也就是调用完函数EIP的地址。
   这个当时我一下没明白,因为以前做hook的时候,都是用函数指针,对了,他要求不能用汇编和shell等方式,所以一时明白,**兄提示了一下,让我想想栈的情况,我马就明白了。
   int * dwTmp = &a;
     int dwEip = *(int *)(dwTmp -4);
     那么这个dwEip就是funA调用后返回eip的值。
3、写一个数组排序
     这个就不说了,写了一个很简单的冒泡排序之后其他的一些无关紧要的问题。

之后就是**兄的老大面试:
1、离职的原因
      ******
2、注入的方式
      ******电话面试的时候说了,我又说了一下。
3、PE的常见区段,一个全局变量在哪个区段
     text,data,rdata……
    一个全局变量在data段,不时我是这么答的,
4、软件系统的设计
     由于老大看到我在之前的公司做系统设计,这也是我悲据的开始,当时正在这个时候腾讯在拖台球桌很吵,也不知道这个老大听到我讲的没,要是没听到我这里再写一下。
    设计分为数据库设计和系统设计,数据设计包括概念设计和物理设计。系统包括概要设计,详细设计。这个地方答得比较简单,然后又一直纠结于如何设好一个页面,页面与页面之间的交互,页面设计的原则是什么。我实在不想回答这些问题,但是没办法。我根据我的经验,就答:保持用户友好性,简单方便原则。我不知道有没有答错,有这方面经验的朋友告诉我。

5、设计模式观察者模式,单件模式
    说实在的,我从事软件开发的时候,面向对象还是不错的,但是这二年来一直在弄汇编、内存方面的东西,所以忘得差不多了,直接回答观察者模式忘了,单件模式这个是最简单的,我回答了,也不知道老大听到了没,因为很吵。

6、STL方面的
    这个我当时直接回答,不会。其实我会使用,你让我说,我确实说不出来。所以心想过掉就算了。
7、其他一些我也听清楚他到底在问什么样,因为旁边有台球桌不停的在弄,实在没听清楚再之后是等待啊等待,近一个多小时后,**兄老大的老大终于出现了:
   上来弄了一个很不好的气氛,一上来提问,在上一家什么公司,做什么游戏的保护?
   因为担心有其他的考虑,所以我当时请求就说,能不能不说公司和做的产品的情况,老大不愧是老大,就说:那这样我们就终止面试。无奈还是把上一家公司的情况给说了,内疚啊,唉。然后就纠接着私服的问题,我不知道老大曾经是否弄过私服,问:别人拿不到服务端,分析别人的服务端的干嘛。。总之就是一直纠接这个问题。。。。

后来就问我反外挂有些一些保护,我不知道是指思路还是具体的方式,因为老大的声音很小,并且旁边也很吵,我就说:进程保护,反调,内存段CRC效验,关键算法VM等。

之后老大就丢下二个题目,让我手写代码,然后又离开了,这一去又是近1个小时,这二个题目是:
1、1个字符串如12345(这个字符串是十六进制的)用汇编转传化成十进制。
    这个题其实不难,但是我确实不想用手写代码,不怎么习惯。写了一下伪代码。可惜后面老大也没怎么看吧。
    说一下我自己的思路,若是有好的思路,也欢迎朋友们说说,
    取得12345这个字符串的首地址,然后逐个字符取出来,按照如下来做就行了:
     1*10(4次方)+2*10(3)+3*10(2)+4*10(1)+5*10(0)

2、用C/C++手写九宫图算法。
    类似这样的算法,实在不会,如实说了不会。

大约等了1个小时后,老大终于出现了,直接问有没有什么给他加分的?
   我的回答的是,我只对逆向调试分析感兴趣,兴趣使然。
然后最后一个问题问我:能否接受同第三方公司签约,不以腾讯公司的签约。
   偶一听很反感,因为我对外包不感兴趣,所以我直接拒绝。当然我也知道意味着什么。

   很奇怪反外挂岗位,这次面试为什么不去讨论一下进程、线程的保护,反调技术,内存效验,堆栈检验,底层驱动更是一个都不提,难道TX只关注应用层保护,底层放弃了?更多的是在排序、九宫图算法这块,唉。

    虽然**兄最后电话我,说帮我推到安全中心去,我说算了,还是很感谢**兄的邀请,可能本人能力确实有待提高。像腾讯公司应该招的是顶级的牛人。偶等小菜实在不该去献丑啊。以前分析过NP、HS,GPK等游戏大概有十多款,以后我得多逆向分析一下腾讯的游戏,向TX大牛们学习一下算法,提高一下自己的算法水平。我想从技术方面研究,应该不算为违法吧。

    这次面试很感激**兄的邀请,让我有机会体验国内最大互联网公司的面试,从中我也学习到了一些东西,同时也知道自身的短处,更可贵的是遇到了看雪的另一位牛人,一起吃了饭,聚了聚挺开心的,他顺利通过了,以后一定向他也多学习。以后一定多发一些文章或者经验贴,我羞愧至今一篇精华贴都没有。
同时本人也顺便发一个求职贴,哈哈,不知道是否违规了,简单的自我介绍一下:
    我工作了5年,熟练.net,c/c++,会win32,mfc编程,熟悉汇编编程,熟悉内存结构,对操作系统有一定的了解,对外挂、木马、私服相同技术比较熟悉。常用的调试工具od,ida,windbg等不用说了,还算比较熟练,呵呵。

     特别调试分析这块经验比较丰富,有逆向分析这方面工作岗位的,可以站内联系一下我。谢谢(同时注明:谢绝外挂、私服、木马开发。因为本人胆小)。
   
    现在虽然身在异乡,不能回家团聚,也不后悔,正好可以静心再整理一下最近几年自己从事过的技术工作,潜心低调修行,最后再一次感谢看雪**兄,有机会一定再聚聚。

阿里云助力开发者!2核2G 3M带宽不限流量!6.18限时价,开 发者可享99元/年,续费同价!

收藏
点赞0
打赏
分享
最新回复 (151)
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tyblly 2011-1-26 01:06
2
0
楼主也很NX
佩服!
雪    币: 596
活跃值: (449)
能力值: ( LV12,RANK:320 )
在线值:
发帖
回帖
粉丝
evilkis 7 2011-1-26 01:48
3
0
学到了点东西,感谢楼主
雪    币: 251
活跃值: (77)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
binarystar 3 2011-1-26 02:05
4
0
不解释。直接顶。知道我是谁吗?。就算你本来不知道。现在我来问你。你也应该猜到了吧。O(∩_∩)O哈哈~。
你还动作真快呀。。不解释。直接顶顶。。
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Hacker—小宇 2011-1-26 02:09
5
0
十分膜拜楼主,想向楼主学习请教
雪    币: 251
活跃值: (77)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
binarystar 3 2011-1-26 02:52
6
0
刚才我没有细看你的帖子。刚才重新看完了。。你帖子里面有一个你不了解的地方。。而那个地方事实上非常非常搞笑。。等我加你QQ。。和你说。。保证你听了会有更多感慨~~~~~~~~~~~~!!!!!!!!!

我现在非常之郁闷。。。O(∩_∩)O哈哈~。。

说真的。我行走网络就这个样子。要照我的脾气我立马就发飙了。但是。**兄实在是个好人。
雪    币: 27
活跃值: (84)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
tihty 2 2011-1-26 03:51
7
0
5年工作经验都不能通过面试啊
我才工作不到2年,肯定也是不行了
可是真的很想进TX
雪    币: 251
活跃值: (77)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
binarystar 3 2011-1-26 03:55
8
0
tihty兄。你要细细研磨一下楼主的帖子呀。。没有明白楼主的深意呀~~~~~~~~~~
雪    币: 155
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yaofande 2011-1-26 08:39
9
0
"这次面试很感激**兄的邀请,让我有机会体验国内最大互联网公司的面试"  这句话我怎么听着不对啊  最大的互联网公司?  好像是“最大互联网公司”之一吧 ,你落下了一个“之一” 哎  你是不是太激动了? 你竟敢无视“百度”,“网易”,“搜狐”等等吧
雪    币: 1542
活跃值: (300)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
木羊 2011-1-26 08:49
10
0
老虎实在是个好人,给我讲了很多人生的道理,恩,还有妹子

挺想跟他共事的
雪    币: 199
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
风翼 2011-1-26 08:51
11
0
学习了 我会更加努力的
雪    币: 251
活跃值: (77)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
binarystar 3 2011-1-26 08:59
12
0
我也懒得打哈哈了。。昨天楼主遇到的一起面试就是我。一起吃饭很开心。

而且。重点来了:

我初试过了。也就是帖子说的过了。

但是。腾讯在忽悠我。他们压根没有和我谈过打算让我做的这个岗位是做什么的。而这个岗位有一个很华丽丽的名字。

经过面试测试后。腾讯觉得我比较适合一个非技术类的外聘岗位:运营助理

而这个运营助理呢就是做:游戏测试

而这个游戏测试呢主要做的事情就是:每天打游戏。玩腾讯的那几个脑 残游戏。这就是游戏测试。这就是运营助理。

哈哈哈哈。

腾讯庙太大了。供奉的都是大婶。

本来想去做点技术。想不到经过腾讯的那一套面试后。我被评为比较适合每天打脑 残游戏。哈哈哈哈

我觉得这是我的悲哀。学了多年计算机。还以为有点技术了。想不到被专业的腾讯公司评定为适合打游戏。嗷嗷

说句真心的。我觉得这件事情非常搞笑。。。。。。

悲剧呀。。。这是我的悲哀
雪    币: 5047
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
GeminiZane 2011-1-26 09:07
13
0

哈哈,我也去了腾讯面试了。。也是过了初试,复试的时候那个面试的人脑壳有毛病。。问的傻x问题就不一一赘述了。。。
这么说LS两位现在也在深圳呐。。。可以交流嘛~!
雪    币: 169
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
benhua 2011-1-26 09:10
14
0
两位都是我的偶像  新年到啦   抛弃烦恼   光明就在眼前
雪    币: 197
活跃值: (77)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
十年寒窗 2011-1-26 09:10
15
0
1、_STDCALL的参数压栈方式,堆栈平衡方式
    这个比较基础,是从右到左依次压入,栈外平衡

这个栈外平衡是什么意思啊, stdcall不是自己清栈的么,忘懂的人指点一下,我都迷糊了。。
雪    币: 225
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wxhanshan 2011-1-26 09:15
16
0
学到了点东西,感谢楼主
雪    币: 300
活跃值: (179)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
飞心男孩 2 2011-1-26 09:16
17
0
楼主真实记录啊,顶了。
“很奇怪反外挂岗位,这次面试为什么不去讨论一下进程、线程的保护,反调技术,内存效验,堆栈检验,底层驱动更是一个都不提,难道TX只关注应用层保护,底层放弃了?更多的是在排序、九宫图算法这块,唉。”
进程保护、线程保护、反调试、底层什么的都是浮云。反外挂最终肯定还是在数据的生成传递上,传递没什么好保护的,最终就落实到生成上。毕竟游戏不能做得像360安全卫士那样,加驱你就报,看不爽就报木马撒。个人是这么理解的。
雪    币: 146
活跃值: (182)
能力值: ( LV13,RANK:220 )
在线值:
发帖
回帖
粉丝
instruder 4 2011-1-26 09:23
18
0


ls说的什么都是浮云,那意思就是看雪没有存在的必要了。。。。
雪    币: 2362
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zapline 2011-1-26 09:28
19
0
16進制轉10進制的題也做錯了
雪    币: 81
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
JohnH 1 2011-1-26 09:32
20
0
想不通TX要什么,是不是也是个黑店,花钱买官跪着要饭?
程序员们都被TX逼得不敢创新了,去工作还不给正岗非得走后门?
不服了,真不服了。
(他们是不是把底层程序弄来然后让“程序员”做包装优化呢?额,不对,叫美工)
雪    币: 515
活跃值: (64)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
红尘岁月 2 2011-1-26 09:35
21
0
1、1个字符串如12345(十六进制)用汇编转传化成十进制。
    这个题其实不难,但是我确实不想用手写代码,不怎么习惯。写了一下伪代码。可惜后面老大也没怎么看吧。
    说一下我自己的思路,若是有好的思路,也欢迎朋友们说说,
    取得12345这个字符串的首地址,然后逐个字符取出来,按照如下来做就行了:
     1*10(4次方)+2*10(3)+3*10(2)+4*10(1)+5*10(0)

你的答案会让人误解的:因为别人不清楚10是十进制还是十六进制

1*0x10(4次方)+2*0x10(3)+3*0x10(2)+4*0x10(1)+5*0x10(0)

而且,题目是把字符串转为十进制,应该不是把十六制转为十进制这样理解。
雪    币: 27
活跃值: (84)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
tihty 2 2011-1-26 09:49
22
0
原来binarystar兄是这情况,TX这是在搞什么啊
雪    币: 182
活跃值: (111)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Aaah 2011-1-26 09:53
23
0
互联网类的公司都是这样,bd、cy、tx....都差不多,安全不是人家的盈利点,谁会在乎你?在那边真正和你有交流,明白你做的是什么的,实际了解你的价值的人又没有,过阵子也就会烦了,当然也有可能颓废了。反正就那样,
不过话说回来tx还算是好点的....
雪    币: 515
活跃值: (64)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
红尘岁月 2 2011-1-26 10:04
24
0
应该是TX根本就是只想招一个游戏测试的岗位,但你却想面试安全方面的工作。所以面试的人就跟你瞎折腾
雪    币: 251
活跃值: (77)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
binarystar 3 2011-1-26 10:07
25
0
o(╯□╰)o。╮(╯▽╰)╭。。。。。只能这样理解了。。

那句话怎么说的:一切解释权归主办方所有

红尘兄说的有道理。。。
游客
登录 | 注册 方可回帖
返回