您的位置:首页 > 运维架构

网易游戏运维开发一面,共勉之

2011-10-26 16:33 453 查看
虽然不是自己擅长的开发方向,但运维开发应该也差不多吧,于是去面试。

搭车搭到反方向就不说了。

三对一,两个年轻人(其中一位比较帅,女生应该会被迷倒),一个中年人,这是我见过最大规模的一面了。坐下,先两分钟自我介绍时间,我一分钟也没用完。

“大学有学过数据结构和算法?” “有。” 然后先来两道算法题:

第一道,如何判断一棵树是二叉搜索树。答得有点含糊,大致就是先测试左子树,然后测试右子树,也写了代码(回头一想写错了,扯蛋),下面的应该正确:

bool check_tree(Tree *header)
{
Tree *pre = header;
Tree *cur = header->lchild;
if (cur->value > pre->value)
return false;
if (!check_tree(cur))
return false;
cur =  header->rchild;
if (cur->value < pre->value)
return false;
if (!check_tree(cur))
return false;
return true;
}


第二道,找出两个整型数组中相同的元素。一答逐个比较,二答先排序再比较。

算法题结束,然后开始一些混乱的问题。

在C中static加在变量名和函数名前面的作用是什么。大二的我可能会说出一大堆,但岁月不饶人啊。“标识文件作用域,只能在该源文件中使用。” 但面试官表示两者有所区别,但我实在想不起来了。

ping的过程,答先从arp缓存中寻找目标ip对应的mac(却忘了说找不到的时候怎么办),然后根据ip判断是否同网段,是则直接发送,“中间隔着路由器。“ 面试官重申。那目标ip对应的mac就会变为路由器的mac,这个包会发送给路由器,然后路由器再递归发送....乱了,虽然以前写过ping程序,但着实记不起来了。刚查了一下,大致也就这样,只不过漏了说在arp缓存中找不到的时候要广播arp请求。

linux进程与线程的区别,答内核对待进程和线程是一样的,不过进程是分配资源的最小单元,而线程是占用cpu的最小单元。我是记得内核实现中并不区分进程和线程,不过线程的数据结构中有一个代表归属于哪个进程的id号。至于后面两句可能要详细说明吧,但我说完这句就停了。

然后问进程可能的状态,让画出进程状态的迁移图。“运行,休眠,僵尸,死亡....“从来看top命令的输出只看到S、R、Z,但却记得有五种状态,只有乱撞了,可想而知状态迁移图也画错了。实际上只有三种状态:运行,阻塞(休眠),等待,五状态是所创建和退出也算进去。

然后是最经典的问题,进程间通信的方式。正确答案是:管道,信号,直接文件,消息队列,共享内存以及信号量。但是,但是,我忘记了信号量,并且把信号量替换成了命名管道,面试官先质疑了一下管道与命名管道不是一样的吗?当其时如果记得管道只能用于父子进程还好,可惜忘记了,只能含糊地说了两句什么,我也记不起来了。于是面试官追问命名管道的实现,扯蛋,APUE里有说,但只能记起一部分了,含糊地答了使用dup2转接进程的标准输出之类的。具体的可以去看一看APUE中inter process communication那章。

问linux与windows技术上的区别,“没什么是相同的...“ 我好像说了一些内核方面的东西,然后中年人让从其他方面说一下,例如软件包,图形界面之类。我就说软件仓库有质量保证,linux可以脱离图形界面运行,然后又混乱地说了一下X协议,原以为自己会记得的,但说出口就后悔了。

传统路由器与交换机的区别。“二层三层,路由器可以抑制广播风暴。“ ”怎么抑制?“ ”....“

GET和POST的区别,忘记了,答不上来。

有web开发的经验吗?答做过网站,LAMP。那写个网站防止攻击的要点是什么?随便答了一下防止sql注入之类的。“如何防止?” 检查用户的输入嘛。 “但假若本身网页本身要提供代码编辑功能怎么办?” 想了一下,弱弱地说不要让那段代码有执行权限吧,我也不知道怎么办,从来没做过。

用过什么发行版?Fedora。只用过这个?我猜他是希望我用过一些服务器版本的linux吧,但确实没用过。“对,但我会编译内核。” 但面试官的表情仿佛在说谁不会。

最后让我提一下问题,随便问了一下运维开发的侧重点之类的,面试官也解释得很详细,但这个时候我怎么记得住呢?

总的来说,这次面试问的问题都没有超出自己的可控范围,可惜面试之前没有复习,反而在研究MySQL的代码和学习MySQL的优化,结果一点也没问到,自己没有把面试官引向那方面也是一种失败。所以说,珍惜自己所得,再争取更多。

唉,大概没戏了,还没有OFFER啊!!!!






                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: