首页 >  面试题 > 网络营销-企业面试宝典 > 

PHP程序员面试题参考

PHP程序员面试题参考

作者:eld 来源:华育国际 时间:2015-05-21 访问次数:4389
Varchar 是可变长度类型,占用的空间是字符串的长度+1,而char是固定长度字符串类型,定义了多少空间就占用多少空间。

1.请写出数据类型(int char varchar datetime text)的意思;请问 varchar 和 char有什么区别?
    Int 整形、Char字符型、Varchar 可变长度字符型、Datetime 时间日期内省、Text 文本类型
    Varchar 是可变长度类型,占用的空间是字符串的长度+1,而char是固定长度字符串类型,定义了多少空间就占用多少空间。
2.MyISAM 和 InnoDB 的基本区别?
    MYISAM不支持外键和事务处理,采用表锁机制,查询速度稍快,数据存储文件有3个,InnoDB支持外键和事务处理,采用行锁机制,查询速度比MYISAM稍慢,数据存储文件只有一个。
3.线性表和顺序表的区别?
    1)线性表包括顺序表和链表;
    2)顺序表中的元素的地址是连续的,链表里面节点的地址不是连续的,是通过指针连起来的。
4.如何实现多个线程安全的写入一个文件数据。
    采用锁机制,当一个用户在对此文件进行读写入操作时,将此文件锁定,操作完后解除锁定,在该用户进行读写入操作过程中,其他用户不能操作此文件,需排队等待。
5.什么是满二叉树?什么事完全二叉树?
    满二叉树:除了叶子节点外的所有节点都有两个子节点。
    完全二叉树:每个节点最多有两个子节点,缺右不缺左,而且最多只能缺少一个叶子节点。
6.如何在页面之间传递变量(至少两种方式) ?
    GET、POST、COOKIE、SESSION
7.ftp://pub.foo.bar.com:2121/incoming/rls.sfv 请给出这个URL各部分的意义。
    1)ftp:// ;使用的协议是:ftp
    2)Pub.foo.bar.com 是域名
    3)2121 是使用的端口
    4)Incoming/rls.sfv 是当前访问的文件
8.请写出以下5个UNIX系统配置文件/服务的作用。
    /etc/passwd、 /etc/hosts、 /etc/fstab、 crontab、 sshd
    1)/etc/passwd :用户信息文件,其中包含用户名、用户是否有密码、用户ID及用户所属组
    2)/etc/hosts:主机名数据库,包IP地址、主机名或域名、别名等信息,在此文件中添加记录可绕过DNS
    3)/etc/fstab  保存了系统所有分区信息的配置文件
    4)Crontab 计划任务命令
    5)Sshd 远程连接管理命令
9.请写出5个常用的SQL操作关键字。
    Select、update、delete、insert into、create、group by、order by
10.请列出5个常用的PHP操作MySQL的函数
    1)Mysql_connect()
    2)Mysql_select_db()
    3)Mysql_query()
    4)Mysql_fetch_row()
    5)Mysql_close()
11.请写出下面MySQL数据类型表达的意义。
    1)int(10) 整数类型,长度10位
    2)char(16) 字符类型,长度16位
    3)varchar(16) 可变长度字符类型,长度16位
    4)Datetime 时间日期类型
    5)Text 大字符串类型
12.请列出3种PHP数组循环操作的语法,并注明每种循环的优缺点
    1)Foreach() 可以遍历关联数组和索引数组,操作简单。
    2)For() 只能遍历索引数组。
    3)Each list while 以关联和索引两种方式遍历数组,操作复杂。
13.从PHP4.2.0开始 PHP默认配置将register_globals配置设定为off,请指出这个设定的作用和对PHP相关程序的影响。
    Register_globals=off;的时候,关闭了全局变量注册,访问POST方式提交值时用$_POST[];来访问,访问GET方式提交的值时用$_GET[];方式访问。
14.表单数据提交方式POST和GET的区别,URL地址传递的数据最大长度是多少?
    POST方式提交数据用户不可见,是数据更安全,最大长度不受限制,而GET方式传值在URL地址可以看到,相对不安全,对大长度是2048字节。
15.SESSION和COOKIE的作用和区别,SESSION信息的存储方式,如何进行遍历?
    SESSION和COOKIE都能够使值在页面之间进行传递,SESSION存储在服务器端,数据更安全,COOKIE保存在客户端,用户使用手段可以进行修改,SESSION依赖于COOKIE进行传递的。Session遍历使用$_SESSION[]取值,cookie遍历使用$_COOKIE[]取值。
16.浏览器IE和非IE浏览器的划分,区别是什么?
    IE浏览器指的是使用IE内核的浏览器,对一些W3C标准的网页代码的支持不是很好。
    非IE浏览器指的是没有使用IE内核的浏览器,对W3C标准的网页代码有很好的支持。
17.设定网站的用户数量在千万级,但是活跃用户的数量只有1%,如何通过优化数据库提高活跃用户的访问速度?
    我们可以根据用户的活跃程度,把活跃的用户提取出来放到另外一张表里面,每次活跃的用户登陆的时候就直接到活跃用户表中进行查询,这样就提高了数据库的查询速度。
18.表单中get与post提交方法的区别?
    GET方式通过URL地址进行传值,在URL地址可以看到传递的值,最大长度也只支持2048字节,相对不安全。
    POST方式通过http协议进行传值,用户无法看到传递的值,最大长度不受限制,相对比较安全。
19.数据库中的事务是什么?
    事务就是一系列的操作,这些操作完成一项任务,只要这些操作中有一个没有操作成功,事务就操作失败,发生回滚事件,即撤销当前操作,这样可以保证数据的一致性。而且可以把操作暂时放在缓存里,等所有操作都都成功在提交到数据库,这样保证了操作的有效性。
20.数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么别?
    Int是整数类型、Char是定长字符串类型、Varchar 是不定长度字符串类型、Datetime 是时间日期类型、Text 是长字符串类型
    Varcahar 不定长度,占用多少空间由里面字符串的长度决定。
    Char 定义了多少长度就使用多少空间。