php程序员面试题
面试是通过书面、面谈或线上交流(视频、电话)的形式来考察一个人的工作能力与综合素质,通过面试可以初步判断应聘者是否可以融入自己的团队。是一种经过组织者精心策划的招聘活动。在特定场景下,以面试官对应聘者的交谈与观察为主要手段,由表及里测评应聘者的知识、能力、经验和综合素质等有关素质的考试活动。面试是公司挑选职工的一种重要方法。
腾讯php程序员面试题目及答案
设计任务:
1、最近总有人骚扰我们的投票模块,需要你来设计一个投票限制的东东
要求如下:
1)要求每个QQ号码(假设此QQ号码在UNIT32 内可以表示)10分钟这内只能投5票。
2)我们的用户很踊跃,平均每天要有2000万人左右通过此程序投票。
说明:
1)无需写代码,只需要图跟文字即可。
2)对于关键逻辑,请用图加代码表示出来,这也是对你文字表达能力的一个考验。
3)对你能想到的所有的边界条件列出来,这是对你逻辑思维全面与敏捷性的'考验。
4)存储部分,尽你所能吧。如果,你需要一个自己设计的存储层,那么把这个存储层的实现,用文字+图片方式描述清楚,要是设计合理,你会获得华丽的奖分.
解答:
核心问题:如何统计10分钟之内投了5票?
首先:以秒为键切分数据集,10*60=600个时间戳桶,并添加一个Forbid令牌桶
然后:每个数据集内,以qq号码为键,vote次数为值
OK,已经成功转换为key-value方式存储,2000万的日投票,除以86400秒,并发231.48rps,使用memcache能够轻松胜任。
数据集ID:201006072134
【QQ号码:Vote次数】
201006072134 | 201006072135 | 201006072136
【12345:3】 | 【12345:3】 | 【12345:3】
【88888:2】 | 【88888:3】 | 【88888:3】
php程序员面试题
请列举你能想到的UNIX信号,并说明信号用途。
请列举、你能想到的所有的字符串查找算法,并加注释简单说明。
有一个IP地址(192.168.0.1),请写出其32位无符号整数形式。
写出、你能想到的所有HTTP返回状态值,并说明用途(比如:返回404表示找不到页面)
向php传入参数的两种方法。
(mysql)请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别;
error_reporting 等调试函数使用
您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?
posix和perl标准的`正则表达式区别;
Safe_mode 打开后哪些地方受限.
您是否用过模板引擎? 如果有您用的模板引擎的名字是?
请介绍Session的原理,大型网站中Session方面应注意什么?
测试php性能和mysql数据库性能的工具,和找出瓶颈的方法。
您写过的PHP框架的特点,主要解决什么问题,与其他框架的不同点。
sort()、assort()、和 ksort() 有什么分别?它们分别在什么情况下使用?
reference 跟一个正规的变量有什么分别?如何 pass by reference?在什么情况下我们需要这样做?
你如何替 PHP 的应用程式侦错?