PHP中常见的面试题5,附答案

1. 下面哪个表达式不能将两个字符串$s1和$s2串联成一个单独的字符串?

A.$s1+$s2

B.“{$s1}{$s2}”

C.$s1.$s2

D. implode(‘’,array($s1,$s2))

2.下面的脚本运行以后,$array数组所包含的值是什么?

$array  = array(‘1’,’1’);

foreach($array as $k=>$v){

      $v  =  2;

}

A. array(‘2’,’2’)

B. array(‘1’,’1’)

C. array(2,2)

D. array(Null,Null)

3. 写出下列代码的输出结果:

function myfunc($argument){

      echo $argument+ 10;

}

$variable = 10;

echo “myfunc($variable)=”.myfunc($variable);

20myfunc(10)=

4. 请用尽可能少的语句实现对输出Email地址进行验证的功能

//用正则表达式匹配

If(preg_match(‘/\w+@\w+\.\w+/’,$str)){

      Echo “是邮箱”;

}else{

      Echo “不是邮箱”;

}

5. 根据你的经验谈谈写php程序需要注意哪些问题

1)代码一定要书写规范,必须加注释

2)能用系统函数则用系统函数,尽量不要自定义函数,否则效率会偏低

3)能用字符串函数解决就不要用正则表达式,效率较低

4)不要相信用户的输入.做好参数检测

5)尽量使用预处理,防止sql注入.

6)静态成员方法的速度要比普通成员方法快.

7)$row[’id’] 的速度是$row[id]的7倍

8)echo比 print 快

9)注销那些不用的变量尤其是大数组

10)include文件时尽量使用绝对路径

11)用@屏蔽错误消息的做法非常低效,极其低效。

12)foreach效率更高,尽量用foreach代替while和for循环;

13)用单引号替代双引号引用字符串;

6. php是否有安全问题,如果有,请列举说明。

1.文件上传

2. sql注入

3. xss

7. cron后台常驻程序(daemon)用于:

A.负责文件在网络中的共享

B.管理打印子系统Manages theprinting subsystem

C.跟踪管理系统信息和错误

D.管理系统日常任务的调度(scheduing)

8.怎么了解您在当前目录下还有多大空间? D

A.Use df

B. Use du /

C. Use du

D.Use df

9. 有一个备份程序mybackup,需要在周一至周五下午一点和晚上八点各运行次,下面哪一条crontab的项可以完成这项工作?

A.0 13,20 * * 1,5 mybackup

B.0 13,20 * * 1,2,3,4,5, mybackup

C.* 13,20 * *1,2,3,4,5, mybackup

D.0 13,20 1,5 * *mybackup

10. 使用命令可以查看Linux的启动信息?

A.mesg –d

B.dmesg

C.cat /etc/mesg

D.cat /var/mesg

11. 在vi中退出不保存的命令?

A.:qt

B.:r

C.:wq

D.:q!

12.如何判断SQL语句的运行效率?如何优化一个查询SQL?

查看它的运行时间,如果时间过长则说明sql语句的执行效率很低

Set profiling = 1;

.....

Show profiles;

优化:

A)尽量使用简单查询, 不要使用联表和子查询

B)不要使用*, 指定字段.

C)模糊查询的时候 % 不能开头

D)给条件字段添加索引

E)分组时添加group by id order by null

13 .试写出mysql数据库优化的一些方法

缓存(读缓存, 写缓存)

优化SQL语句

建立索引

分库分表

主从复制,读写分离

14. 简述smarty的工作原理,如何对smarty进行二次开发?

原理:

1、 smarty将php源文件,首先编译成中间文件

2、 如果启用缓存,再根据编译文件生成缓存文件

3、 之后每次访问都会访问编译文件

二次开发

创建一些方便的标签, 方便在模板中使用, 比如 {article}{/article}

15. ajax技术利用了什么协议?简述ajax的工作机制。

HTTP协议。

在页面不刷新的情况下进行以下操作:

(1)对象初始化

(2)发送请求

(3)服务器接收请求并进行处理

(4)服务器返回响应数据

(5)客户端接收

(6)处理服务器返回的数据

16. 一个人卖苹果,6元/斤的进货价,10元/斤卖出。某一天他卖了1斤苹果,收到了50元假钞,但没有发现,给客户找了40元钱零钱。请问,这人这次卖苹果亏了多少钱?

46元 6元的进价和40元零钱 全部46元

17. 2. 一个小猴子边上有100根香蕉,它要走过50米才能到家,每次他最多搬50根香蕉,每走1米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。

16根. 问题简化成走最短的路,背更多的水果.但路和水果之间有限制! 题目已经限制,猴子最多背50,我们计算其消耗仅剩下50根的米处,

假设猴子第一次背了50根,走了X米,在回来搬第2个50根,就有:

100-3X .........剩下的香蕉数(先走X,往反2X)

50-X ............剩下的米处

问题就明白了: (100-3X)-(50-X)=50-2X ........回到家时的香蕉数

问题就简化为在条件: (100-3X)<=50的情况下,求 (50-2X)的最大值! 得到: X=17时, 50-2X 最大值 16 方案: 猴子先搬50根,走17米,在回来搬50根走到17米处,回来后再搬剩下的49根走完33米,最后得到16根!

18. 分金条问题

你让某些人为你工作了七天,你要用一根金条作为报酬。这根金条要被分成七块。你必须在每天的活干完后交给他们一块。如果你只能将这根金条切割两次,你怎样给这些工人分?

切割两次,分出三块 1、2、 4。

第一天 付1

第二天 收回1,付2

第三天 付1(1+2)

第四天 收回1、2 付4

第五天 付1 (4+1)

第六天 收回1 付2(4+2)

第七天 付1 (4+2+1)

19. 有十箱苹果,里面各放苹果10个,其中9箱装的苹果是50克/只,另一箱装的苹果是60克/只,现给你一地秤,要求只称一次就能准确找到装60克/只的那箱苹果,请问如何做?

先给十个箱子标上序号,然后从一号箱子拿出苹果一只,二号拿两只,以此类推....十号箱子拿十只。然后称下总重量,减去500克*倍数,余数是十的多少倍就是几号箱子中的。这样就只称了一次。

20. 不均匀分布的香,每根香烧完的时间是一小时,你能用什么方法来确定一段15分钟的时间?

一支两端同时点燃烧完一支是30分,另一支只点一端烧了一半,剩下的支持30分钟,在同时点燃两端,得15分

性格测试

1.简单说一下,你是一个什么性格的人?

主要说下团结团队,活泼开朗,和人交往没有障碍

  每次说完最好举个小例子

2.你认为你自身最大的优点和缺点是什么?

  优点 按照实际的说 比如团结集体 活泼开朗 等

  缺点 把不是缺点的缺点说出来就行

3.是否愿意在比较大的工作压力下工作?有创业公司的工作经验么?简单说一下你对创业公司的看法。

  可以 压力越大动力越大

  经验 按实际去回答

  看法:必须有明确的目标,坚持下去的精神,良好的管理团队,和团结的集体

4.你具体是使用什么方法来提供自身的技术(或业务)水平的?

  逛逛技术论坛

  看视频教程...

  聚会

5.说说你对本公司的了解。简单说说你理想中下面找的工作是一个什么样的工作?简单说一下离开上一个工作的原因是什么?

  面试以前必须看看这个公司的简介 回答出这个公司的业务和特色

  简单谈谈你应聘职业的工作内容,表达出对这份工地的兴趣和爱好

  原因不要抱怨上个公司或者领导不好,回答自身原因多一点