程序员找工作必备 PHP 基础面试题 - 第十六天
“PHP 学习网” 公众号会每天分享一些面试题,正在找工作的小伙伴们可以来看看哦。
一、使用 PHP 语言自定义一个函数,此函数作用是将一个句子按单词反序。例如”One World One Dream”,反序后变为 “Dream One World One”。#
function get_rev($str){
$arr=explode(‘ ’,$str);
for($i=count($arr)-1;$i>=0;$i--){
$res.=$arr[$i].’ ’;
}
return $res;
}
二、两条查询语句,一条是 Select * from table1 where id>10 and id<100#
一条是 Select * from table2 where id>200 and id<500
请尝试只写一条 SQL 语句,完成相应的查询任务。
Select * from table1 as t1,table2 as t2 where t1.id>10 and t1.id<100 and t2.id>200 and t2.id<500;
三:有两个文件,一大一小,其中之一有 8,000,000 个电话号码,另一个文件有 500 个电话号码,请说明一种方法找出重复的电话号码。#
1、读取文件里的内容,以某字符作为分割标志 (使用 explode () 函数),分隔 800000 的字符串,然后用 500 个电话号码作为值,作为判断条件 (使用 in_array () 函数) 判断,是否存在于其中,存在则拿出
2、要是效率的话,使用 hash 算法
3、array_intersect()效果更佳
四、有一伙海盗,俘虏了三个渔民 A、B、C。海盗船长决定杀他们之前给他们一次机会。他当渔民的面拿出三顶黑帽子,两顶白帽子,然后给这三个可怜人各戴一顶,分别问他们头上帽子的颜色。#
每个渔民只能看到另外两个渔民帽子的颜色,看不到自己的,而且他们不能通讯,不能讨论,如果猜对了,放一条生路,否则立即处死。
船长先问渔民 A,结果渔民 A 猜错了,被杀死了。船长又问渔民 B,结果还是猜错了,同样被杀死了。海盗船长再问渔民 C 时,结果渔民 C 猜对被释放了。
考虑到船长及 A、B、C 都很聪明,问为什么渔民 C 一定能猜中?
答案:偶不会,会的留言说一下答案吧!
五、请用正则表达式写一个函数,验证电子邮件的格式是否正确。#
function get_url($email){
if(preg_match('/^([0-9a-zA-Z_]+)*\w+@(\w)+\.com|\.cn$/ims',$email)){
echo 2;
}
}
六、列举流行的 Ajax 框架?(每个 1 分)说明 Ajax 实现原理是什么及 Json 在 Ajax 中起什么作用?#
jQuery extjs
原理:通过 XMLHttpRequest 创建对象,根据客户端的请求,传递到服务器端进行数据处理,然后接收服务器端返回来的数据
以 json 格式组装从服务器端返回来的数据
七、我们常可以看到,一些商场买 200 元的商品可以返 100 元优惠券(可在本商场代替现金)。请问实际上商品的折扣是多少?#
如果买完 200 元的商品 不用优惠券 折扣没有,多了 1 张 100 元优惠券
如果买完 200 员的商品 使用优惠券 (将这个 100 员优惠券又去买完了商品) 相当于 200 元的现金 买来了 300 员的商品 200/300=66%
八、我们希望开发一款扑克游戏,请给出一套洗牌算法,公平的洗牌并将洗好的牌存储在一个整形数组里。#
$a=54;
for($i=1;$i<=$a;$i++){
$str[$i]=$i;
}
for($i=1;$i<=$a;$i++){
$t=rand(0,$a-$i);
$s[$i]=$str[$t];
unset($str[$t]);
$str=array_values($str);
}
echo '<pre>';
print_r($s);
九、我们希望开发一个门户系统,数据存储采用 MySQL,用户数量为 1000 万,预计文章总数为 10 亿,日更新量至少为 10 万,日访问量为 5000 万,对数据库的读写操作比例超过 10:1,你如何设计该系统,以确保其高效,稳定的运行?#
(提示:可以从数据库设计,系统框架及网络架构方面进行描述,自由发挥)
网络
DNS 轮循
Nginx 主 从服务器 (2 台以上 用于负载均衡)
集群服务器 ->PHP 分发器 (根据随机数对应 ip 连接数据库)
数据库集群 (多台以上)
数据库 (2 台以上) 互为主从
最后各位可以扫下方二维码关注我公众号,目前我正在更新基础面试题,之后会更新中高级、redis、liunx 面试题
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: