【转】2012年6月26 – 盛大PHP工程师最新面试题

无笔试。

口试:(前半部分平淡无奇,没什么太难的问题,都是求职岗位基本要会的东西,局限于php。下面是真正进入状态的题。)

谈谈观察者模式是什么?主要应用。

答:类似会有一些server对象时刻侦听某个对象的一些动作。被监听的对象也会有这个server列表,或者提供添加列表的接口。促发条件根据需 求。触发的时候这个object对象会发送本身给这些server列表中的一个方法里,这样server也就会取得传过来的对象实现侦听。主要应用在插件 上的。

什么是索引?建立索引有什么规则?注意点?

答:类似一种目录表吧,dbms会实现读写,mysql在查询的时候,可以直接去查找这个目录表,就不会去扫描整个表了。有什么注意点嘛?首先我会 看这个表,如果他生来就注定写多读少,尽量避免建立很多索引,因为他也会占用时间,对吧!另外在建立的时候我也会尽量建立在数字字段上,或者类似用户名 上,这样做可能,在需求上作select时候不会有like或者其他计算在里面。也不要有!有的话,不要放在左值上。。。被打断!

其实我想问是放在查询语句,select什么什么where什么什么的什么地方?

答:哦,放在where后字段上。

Mysql有几种引擎?或者你经常使用哪几个?

答:innodB,myisam,temporary(当时愣是没读上来这个单词,就拼写了)

innodB和myisam有什么区别?temporary你经常用在什么地方。

答:一个是行锁,一个是表锁,这样并发程度也就不一样了。innodB有日志,然后就能现实事务保证,他也能实现外键功能。Myisam在查询上快 点。文件方面。Myisam放有三个文件,在同一的目录中,数据也会放在其中一个上。而innodB的数据是放在目录外的idata文件中。innodB 也能实现这个idata文件大小的配置,比如可以配置最大为1G,到了这个大小,mysql会自动生成另一个idata文件。Temporary我会用在 类似用户登录的session表上。

你有没有想过为什么innodB要把数据提到一个文件中了?而不是想myisam放在自己的文件中?

答:这个嘛。。。可能是为了什么查询方便吧?或者好做日志,事务吧?瞎扯中。。。

HTTP报文格式是什么样的?能大概叙述下么?

答:源地址ip与端口号,目标ip与端口号,协议类型。(只记得这三个。然后开始瞎扯!)额。。。还有什么了?请求数据,请求页面。。。。(面试官愕然!)被打断!

Tcp三次握手大概是怎么样的?

答:先Client发送连接请求报文给Server。Server收到后发送ack确认报文给Client。Client收到确认报文后再发送确认报文给Server。完成三次握手。

这三次握手报文大概是什么样的?

答:额。这个嘛。。。client自己生成一个请求序列号吧,然后在随机绑定一个端口号,发送。对方加一后ack过来。。。。此处省略n字!其实不太懂!扯着玩。被打断!

HTTP协议中传输报文可能被hacker窃取了,并且解密了。你该怎么做?

答:(日!二进制都给解密了!地球已经不能阻止他了!反正我个小菜是没办法了!)额,这个嘛,,,,没太考虑!我想在传输的时候就该把主要的数据加密了再传输吧,比如用户密码,用户名什么的,这样解密了也不要紧吧!至于怎么加密,用MD5就好了。

了解https协议么?说说看。

答:怎么说了,停留在书本知识,从来没实践过。是443对吧?额,,,是http的加密连接协议。安全,可靠。然后开始瞎扯。其实不太懂!被打断!

session和cookie有什么不同?

答:一个是client-server保持机制,一个是client保持机制。存放的地方也不同。。。被打断!

恩,好。这些基本的我想你都知道。说说看你对cookie安全方面有什么考虑?比如他在client端会被篡改,你怎么做?

答:这个嘛。。。首先密码和一些重要数据一定不能存。还有就是,把要存放的数据都加密了。比如用户id,用户名,角色什么的。。。被打断!

MD5是不可逆的,你把用户id加密了,怎么比配啊?

答:(其实我还真没吧id加密过!没办法硬着头皮往下说!)额,就匹配吧,在比对的时候,server也进行一次MD5加密,看是否相等就行了!

你对加密有什么心得?我们都知道MD5解密网站很多了?

答:额,重要数据,不要用简单的一次MD5加密就行了。比如说,用户密码,我们可以给每个用户一个随即6位的加密因子。做位处理后再做MD5运算,比如说相与相或什么的。

你说的密码因子就是类似密钥么?放在什么地方?

答:恩,差不多吧。放在用户表里,随机的6为字符,用户每次登陆完后系统会更新这个字段与实际的密码字段。我现在做系统就是这么做的。你想啊,在这中间,别人最可能拿到的就是我们加密后的密码字符。这时候其实很可能已经失效了!

那别人拿到了真正用户密码了?

答:这个问题我有想过,后来想想我感觉好像没办法了吧!(面试官和我一样犯过这样的傻啊,呵呵)

对nosql熟悉么?有用过么?

答:还行吧。大部分没太用过。不过memcache用过,很常见,也很容易使用。主要在DB类层做判断就行了,如果内存中已经有了这个键值对,直接 memcache_connect,然后get数据。不然就去查找mysql。你想啊,最终我们交互的数据肯定都要到这个DB类抽象层。其他的nosql 如果有需要,我会去看这方面的书!

你对memcache的命中率有跟踪过么?效率怎么样?

答:这个嘛。。。这个自己没有跟踪过哦,只看过一些大神的博客比较过他和redis。貌似redis效率更高些(答非所问!)

你接触过最大的数据量有多少?最多有服务器?

答:大几百万吧。是个社区。有11太服务器。

对于大数据访问效率你怎么处理?

答:首先看是否能搭建分布式环境,做主从数据库,读写分离。让replication进程实现master-slave同步。

然后再考虑分表。水平、垂直分表都行。用什么算法分表看具体业务。比如比较简单主键的奇偶性。还有分表上,我建议用mysql5.1版本以上的逻辑 分表功能模块,先安装partition,简单配置下,做不同磁盘的存储,减少I/O的读写(在一次日资企业面试中学到的,然后回来看看,果真牛逼)。

其实这个也没减少I/O读写的。(没敢反驳!以后要真成了同事,咱们在慢慢讨论也不迟。)一般我们做master与slave同步很好处理,假如你发现你的应用中master写压力很大,你需要做多个master来分解压力。你怎么实现他们之间的同步?

答:这个。。。我还真没做过多个master。没考虑过哦。。。

对于分表算法,你有什么心得?

答:最简单的主键奇偶性,主要还是看需求,甚至按年份,月份都可以。

这些算法你怎么实现查询定位到具体表?

答:恩,这个因为你所有的数据交互,都要交给类似DB类得抽象层,这里面我会写类似find,select的方法,对其传过来的表参数实现具体算法 规则上的变换。尽量不要让运行原生的sql语句。即使运行我也会提供类似可以完成替换数据表的特殊字符串,让DB类能够实现替换。比如很多框架会在sql 里面建议用户用类似大写的__TABLE__字符串。

接触过cdn么?

答:接触过,是买的人家cdn,前一家公司是个社区,pv很大。这个是必须要有。

你能大概画一个web架构图么?比如你们之前11太服务器怎么架构的。

答:(一边画一边讲)最前面的这个是cdn,接下来这个是负载均衡器。后面有多个web server,每个都用的是nginx接受请求,后端用代理apache做处理。其中有一个当掉,其他服务器也会正常服务。然后这几个是主mysql服务 器,后面这几个是slave。这个是图片服务器。

你web页面上怎么请求你的图片服务器资源。

答:我们这个是单独的图片服务器,用户上传图片的时候时候,数据表里的字段会放完整的路径名,这样就能请求这个图片服务器了。

你们怎么实现这个图片服务器的安全?比如这个服务器挂掉了。有备份服务器的话,你怎么实现同步?

答:凌晨2点。呵呵。

那只能实现时间段得备份吧!比如在某天凌晨2点之前服务器挂了,当天的图片除了cdn上会有临时存储,其他就没了?

答:这个嘛。。。恩,肯定的。那我也不能在每个请求做一次同步吧。这个嘛。。。省略n个字,又到扯着玩时候了。。。

对web server熟悉么?对linux熟悉么?对shell熟悉么?

答:(实践表明,对这个面试官,不懂不要瞎扯,会带你到沟里去!)apache还行吧,能配置。Nginx,弱一点,有需要我可以学习。Linux的话,不太在行,缺少实践经验,理论知识还行。shell命令都还记得。

然后这个面试官走了。又来了一个面试官!

你说你们现在的平台要做java到php转换。你们要接触java么?为什么要转换了?

答:不会接触java。两个系统是平行使用的,目前也不会取代这个系统。听说是ceo不满意目前的这个java外包系统。所以要改的。

CEO不满意?这个理由不充分哦?

答:这个嘛。。。这个我也不知道哦。就听说ceo不满意的。

你在这个系统中做什么?

答:省略n个字。

你对linux c熟悉么?linux shell脚本了?

答:linux c一点不会!linux shell脚本还行,不过缺少实践。

面试结束。2多个小时!!!!最后HR过来说,今天的面试就到这里了,这边请。尼玛,还有几轮了啊!!!果真巨头就要耍大牌吗!

摘自:http://www.lnmper.net/?p=25

时间: 2024-07-28 16:15:08

【转】2012年6月26 – 盛大PHP工程师最新面试题的相关文章

【转】2012年6月26 – PPS网络电视PHP工程师最新面试题

每一次面试都是一场较量,和面试官,更是和你自己! 前言:虽然面试职位是PHP工程师,但题目仅绝非限于PHP,甚至都没有多少PHP的题!inner peace!希望能给你带了一丝帮助. PPS网络电视面试题(PHP工程师)非答案!!!请自行请教谷歌大神. 四张纸的笔试.去的比较晚,所以只剩半小时时间了!当时我就震惊了.跟同座一起来笔试的几个哥们开玩笑:尼玛这比高考还猛啊!这么多半小时! 不过其中一哥们当真进入了状态,拿出手机在百度!喂!帅哥,这么多算法题,百度有用么?待会还有口试了! 笔试略,不算

【转】2012年7月12 – 腾讯公司 WEB高级应用开发工程师 最新面试题

腾讯面试(WEB高级应用开发工程师<PHP>)非答案啊!!! 开始正题之前,容博主啰嗦两句吧,呵呵.(你也可跳过直接到红色字体看题!) 腾讯一直是我很敬重的企业,尽管小企鹅在战略上饱受争议,正面的,负面的我就不一一列举了,但又怎样?在中国,他还是能如微软一样,渗透到每一个用户的日常生活中去,这样的成绩,恐怕在世界范围内也没有多少吧!想进去自然困难丛丛,面试周期达一个月之久.技术面试只占四分之一,剩下的都是人品关!我勒个去!你知道技术对鄙人还算凑活,可这RP,我是一直持保留意见的!不过话说回来,

软考中高项学员:2016年3月26日作业

软考中高项学员:2016年3月26日作业一.质量管理1.质量管理基本原则?2.质量管理的目标?3.质量管理的主要活动有哪些?(记)4.质量管理流程包括哪四个环节?(记)(按P'DCA理解记忆)5.ISO9000质量管理的8项原则是什么?6.全面质量管理是一种全?.全?.全?的品质管理?它由结构.技术.人员.变革推动者4个要素组成.7.全面质量管理有哪4个核心的特征?8.六西格玛意为六倍标准差,在质量上表示每百万坏品率少于多少?9.六西格玛管理法的核心是什么?而DMAIC是什么意思?包括哪四个要素

4月26日上午学习日志

2017年4月26日上午继续按照昨天记忆单词的方法,把英语单词的多种词意联系起来记忆,今天听写了一下昨天所背单词,确实比以前记忆的要好,此外就看专业课视频了解了机器语言,汇编语言,高级语言.机器语言是计算机可以识别并运行的二进制代码 汇编语言是将二进制的机器码通过助记符的方式让人可以更方便的编写并检查的低级语言 汇编语言接近机器语言,可以看做是机器语言的另一种形式,计算机在运行时也需要将其变为机器语言的二进制才可运行 高级语言最接近人类语言,但机器是无法执行的,需要最终编译连接成二进制的机器代码

Linux运维学习-4——2016年7月26日

格式说明: 操作 概念 命令 说明及举例 四 du -sh /sys 查看文件.文件夹大小 /sys/class/scsi_host/host2/scan 在线扫盘(新加硬盘执行这个命令后才能发现) stat /etc/issue 更详细的看数据 蓝色:目录绿色:可执行文件浅蓝色:链接文件红色:压缩文件 创建-h文件名的文件,删除?访问?绝对路径 -:常规文件d:目录l:链接文件b:块设备(比如硬盘,有缓存)c:字符设备(不真实存在,没缓存) p:管道文件 例: 命令1 | 命令2 命令1的输出

3月26日作业

软考中高项学员:2016年3月26日作业一.质量管理1.质量管理基本原则? 答:1)以实用为核心的多元要求:2)系统工程:3)职工参与管理:4)管理层和一把手重视:5)保护消费者权益:6)面向国际市场.2.质量管理的目标? 答:1)顾客满意度:2)预防胜于检查:3)各阶段内的过程.此外,实施组织主动采纳的质量改进措施(如全面质量管理.持续改进等)不仅可以提高项目管理的质量,而且也能提高项目产品的质量.3.质量管理的主要活动有哪些?(记) 答:质量策划,质量保证与质量控制过程.4.质量管理流程包括

豪迪qq群发器2014破解版(5月26日)haodi软件QQ5.5群发

软件名称:豪迪qq群发器2014破解版(5月26日)haodi软件QQ5.5群发软件说明:官方对豪迪进行了更新,应该是针对QQ的版本升级到QQ5.5 的改变,已经针对QQ5.5测试过可以使用破解使用:(下载前后看下说明)1.小众论坛回帖下载豪迪qq群发器2014破解版(5月26日)haodi软件QQ5.5群发2.运行qqqf.exe3.运行 豪迪QQ2014破解(5月26日)破解补丁.exe  点击小众论坛破解4.开始使用吧.测试截图: 土豪下载通道:http://tuan.xzrj.cc/vi

4月26日作业

2016年4月26日作业 一.项目整体绩效评估1.*三E审计是什么的合称?(记)  答:经济审计,效率审计和效果审计2.霍尔三维结构是从哪三个方面考察系统工程的工作过程的? 答:逻辑,时间和知识3.*投资回收期的公式?(记,并理解)  答:n=-log(1-pio/a)/log(1+io)  n投资回收期,p投资的现值,io基准收益率,A年等额经营成本二.信息安全相关知识1.在三安系统三维空间示意图中,X,Y,Z轴分别代表什么意思?(记)同时,X.Y.X上分别有哪些要素?  答:x表示安全机制即

软考高项学员:2016年4月26日作业

软考高项学员:2016年4月26日作业 一.项目整体绩效评估1.三E审计是什么的合称?(记)  答:经济审计,效率审计和效果审计2.霍尔三维结构是从哪三个方面考察系统工程的工作过程的? 答:逻辑,时间和知识3.投资回收期的公式?(记,并理解)  答:n=-log(1-pio/a)/log(1+io)   n投资回收期,p投资的现值,io基准收益率,A年等额经营成本二.信息安全相关知识1.在三安系统三维空间示意图中,X,Y,Z轴分别代表什么意思?(记)同时,X.Y.X上分别有哪些要素?  答:x表