2011,sina php 笔试及我的解答

   新浪技术部PHP工程师的笔试题,不像其他的一些笔试题比较蛋疼, 这份笔试题考察的还是比较全面的, 尤其是最后一题对能力要求还是比较高的, 让我去做的话, 及格分就不错了!

  一、php基础知识

  1、strlen()与mb_strlen的作用分别是什么

  2、下列哪个函数是用正则表达式将字符串分割到数组中()

  A、Split

  B、implode

  C、explode

  D、join

  3、写出下列程序的输出结果

  $x=87;

  $y=($x%7)*16;

  $z=$x>$y?1:0;

  echo $z;

  ?>

  4、写出smarty模板的特点

  5、写出下列几个预定义全局变量的作用

  $_SERVER['DOCUMENT_ROOT']

  当前运行脚本所在的文档根目录。在服务器配置文件中定义。

  $_SERVER['HTTP_HOST ']

  当前请求的 Host: 头部的内容

  $_SERVER['REMOTE_ADDR']

  正在浏览当前页面用户的 IP 地址

  $_SERVER['HTTP_REFERER']

  链接到当前页面的前一页面的 URL 地址

  $_SERVER['SERVER_NAME']

  当前运行脚本所在服务器主机的名称

  $_FILES

  包含有所有上传的文件信息。

  $_FILES['userfile']['name']

  客户端机器文件的原名称。

  $_FILES['userfile']['type']

  文件的 MIME 类型,如果浏览器提供此信息的话。一个例子是“image/gif”。不过此 MIME 类型在 PHP 端并不检查,因此不要想当然认为有这个值。

  $_FILES['userfile']['size']

  已上传文件的大小,单位为字节。

  $_FILES['userfile']['tmp_name']

  文件被上传后在服务端储存的临时文件名。

  $_FILES['userfile']['error']

  和该文件上传相关的错误代码。

  6、include和require都能把另外一个文件包含到当前文件中,他们有什么区别?Include和include_once又有什么区别?

  7、写出一个能创建多级目录的PHP函数

  二、操作系统

  1请解释下列10个shell命令的用途

  top、ps、mv、find、df、cat、chmod、chgrp、grep、wc

   2、写出下列服务的用途和默认端口

  ftp、ssh、http、telnet、https

  三、面向对象

   1、写出php的public、protected、private三种访问控制模式的区别

   2、写出下列程序的输出结果

  class a{

  protected $c;

  public function

  a(){

  $this ->c=10;

  }

  }

  class b extends a

  {

  public function print_data(){

  return

  $this->c;

  }

  }

  $b=new b();

  echo $b ->print_data();

  ?>

   3、设计模式考察:请用单态设计模式方法设计类满足如下需求

  请用PHP5代码编写类实现在每次对数据库连接的访问中都只能获得唯一的一个数据库连接,具体连接数据库的详细代码忽略,请写出主要逻辑代码

  四、数据库

   1、写出下面2个PHP操作Mysql函数的作用和区别

  mysql_num_rows()

  mysql_affected_rows()

   2、sql语句应该考虑哪些安全性?

   3、简单描述mysql中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)

   4、有一个留言板,用mysql做数据库,用户信息包括:用户名,密码,email 留言内容包括:留言ID,标题,内容,发表时间,状态(审核,未审核)

  请实现下列需求:

  1)数据库结构。无需写建表语句,用类似下面的表格,描述清楚即可

  

表明 Table_aaa
字段名 字段说明 字段类型 索引
name 姓名 Varchar(64) 唯一索引
gender 性别 Enum('M','F')  

  注意,要在索引栏中注明是否需要创建索引,以及要创建的索引的类型

   2)用一个sql语句查询出发表留言数量大于10条的用户名及其留言数量,查询结果按文章数量降序排列

  五、系统分析

  假设有一个博客系统,数据库存储采用mysql,用户数量为1000万,预计文章总数为10亿,每天有至少10万的更新量,每天访问量为5000万,对数据库的读写操作的比例超过10:1,你如何设计该系统,以确保其系统高效,稳定的运行?

  提示:可以从数据库设计,系统框架,及网络架构方面进行描述,可以自由发挥

 

你可能感兴趣的:(sina)