您的位置:

php网络方面的面试题,php网络方面的面试题及答案

本文目录一览:

谁有面试phper的经验

这方面网上有比较多的,针对3-5年的PHPer常见的面试题,参考如下:

1、平时喜欢哪些php书籍及博客?CSDN、虎嗅、猎云

2、js闭包是什么?

3、for与foreach哪个更快?

4、php鸟哥是谁?能不能讲一下php执行原理?

5、php加速器有哪些?apc、zend、xcache.....能不能讲一下它的加速原理?

6、Node.js能彻底代替php+apache是扯淡。

7、怎样判断一个值是否存在于数组中?in_array(),array_key_exists,......

8、怎样判断select语句中是否使用了索引?explain

9、sphinx的中文分词词库使用第三方库还是自己建库?

10、如果一个被面试者经验少、基础差,此时却问些高深的知识。要怀疑它的稳定性,可以提问加班对他会不会有抵触。

11、mysql与mysqli的区别有哪些?

12、将来的发展方向?安全、还是数据挖掘、大数据处理?

13、php的面向对象:类的修饰符、封装、继承、多态体现方面

14、php 多态是什么?

15、Type Hinting:

16、php的设计模式:单例模式、工厂模式、生产者模式......等23种

17、服务器状态码:200、202、301、404、500......

18、i++与++i的区别?

19、项目开发:电商项目中的购物车数据持久化、考试系统的安全性考虑、

20、mysql设计基础:三大范式、功能-思维导图、创建表的第一字段是什么?

21、mysql字段char、varchar、int、smallint、tinyint、mediumint、bigint、decimal、double、float字节数及应用场景。

22、memcache与mongoDB、Redis各自的使用场景是什么?

23、为什么mongoDB与Redis非但没有形成竞争反而是互补关系?

24、Redis数据类型有哪些?int、string、hash、set、list ?

25、安装linux软件时使用make方式还使用yum方式?

26、linux网络优化:查看进程ps -aux|grep mysqld、怎样查看最大文件打开数?

27、C语言中的虚函数是什么?

28、1条微薄要推送给100万个粉丝该怎么处理?

29、知道哪些算法?冒泡排序?快速排序?二分查找法?

30、yii thinkphp ci 各自优点

31、php 设计模式有哪些?

32、c 排序算法有哪些?

33、php 基本结构是什么?

34、memcache magent 分布式设计?

35、redis 分布式设计,如何设计?

36、mongo 集群架构是怎样的?

37、mysql 索引原理及sql性能优化

38、tcp/ip 网络协议,osi7层指是什么?

39、php 处理大数据业务

40、linux 应用 负载性能查看 ?

41、nginx 实战优化业务功能 ?

42、谈一下近三年来你的得意之作?

43、看看简历,会问一些过去做的项目的用户量、pv、吞吐量、相关难点和解决方法等

44、数据库设计经验,为什么进行分表? 分库?

45、一般多少数据量开始分表? 分库? 分库分表的目的? 什么是数据库垂直拆分? 水平拆分? 分区等等?可以举例说明

46、数据库优化有哪些? 分别需要注意什么?

47、web开发方面会遇到哪些缓存? 分别如何优化?

48、给你256M的内存,对10G的文件进行排序(文件每行1个数字),如何实现?

49、对10G的文件进行查找如何实现?

50、统计10G文件每个关键字出现的次数如何实现?

51、假如你现在是12306火车订票的设计师,你该如何设计满足全国人民订票?

52、假如有1亿用户的访问量,你的服务器架构是怎样的? 用户信息的存储方案如何设计?

53、如果你是技术组长,所带团队任务进度无法完成你该如何解决?

54、如果在进度排满的前提下插入任务,你该如何保证总进度不延期?

55、如果有的工程师今天预定任务没有完成,你该如何解决?

56、从你的经验方面谈一下如何构建高性能web站点? 需要哪些环节? 步骤? 每个步骤需要注意什么如何优化等?

57、为什么要对数据库进行主从分离?

58、如何处理多服务器共享session?

59、一个10G的表,你用php程序统计某个字段出现的次数,思路是?

60、会告诉你一个nginx日志例子,用你认为最佳的编程语言统计一下http响应时间超过1秒的前10个url?

61、给你一个mysql配置文件,用你认为最佳的编程语言解析该文件?

62、给你两个路径a和b,写一个算法或思路计算a和b差距几层并显示a和b的交集?

63、给你一个url,在nginx配置一下rewrite指定到某个具体路径?

64、一个php文件的解释过程是? 一般加速php有哪些? 提高php整体性能会用到哪些技术?

65、session和cookie生存周期区别? 存储位置区别?

66、require、include、require_once、include_once区别? 加载区别? 如果程序按需加载某个php文件你如何实现?

67、chrome号称为多线程的,所以多线程和多进程的区别为?

68、php在2011年底出现hash碰撞,hash碰撞原理为? 如何进行修复?

69、web不安全因素有哪些? 分别如何防范?

70、假如两个单链表相交,写一个最优算法计算交点位置,说思路也可以?

71、假如你是技术组长? 如何提高团队效率?

72、nginx负载均衡有哪些? 如果其中一台服务器挂掉,报警机制如何实现?

73、不优化前提下,apache一般最大连接数为? nginx一般最大连接数为? mysql 每秒insert ? select ? update ? delete?

74、mysql 数据类型有哪些 ? 分别占用多少存储空间 ?

75、nginx设置缓存js、css、图片等信息,缓存的实现原理是?

76、如何提高缓存命中率? 如何对缓存进行颗粒化?

77、php的内存回收机制是?

78、我的所有问题都问完了(当然没有这么多),你有什么问题问我没有?

程序员面试必备PHP基础面试题 – 第十三天

一、在HTTP1.0中,状态吗500的含义的是什么?如果返回“找不到文件”的提示,则可用header(函数),其语句为?

500 Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求

Header(“ HTTP/1.0 404 NOT FOUND”);

二、数组函数arsort()的作用是什么?语句err_reporting(2047)的作用是什么?

arsort:对数组进行逆向排序并保持索引关系;

error_reporting(2047)的作用是:report All errors and warnings

三、语句include和require都能把另外一个文件包含到当前文件中,它们的区别是___;为避免多此包含同一个文件,可以用语句_____来代替它们。

在如何处理失败时,include() 产生一个警告而 require() 则导致一个致命错误; require_once()/include_once()

四、get_magic_quotes_gpc的作用是_______

本函数取得 PHP 环境配置的变量 magic_quotes_gpc (GPC, Get/Post/Cookie) 值。返回 0 表示关闭本功能;返回 1 表示本功能打开。当 magic_quotes_gpc 打开时,所有的 ‘ (单引号), ” (双引号), (反斜线) and 空字符会自动转为含有反斜线的溢出字符。

五、在php中, heredoc是一种特殊的字符串, 他的结束标志必须是_____

结束标识符所在的行不能包含任何其它字符除”;”

六、写出一个正则表达式, 把$string中的所有数字全部删除

preg_replace(‘/d/U’,’’,$string);

七、找出/data1/source 目录中大于100k 的文件, 并复制到 ~/tmp/35/下

find /data1/source +size 100k | cp ~/temp/35/

八、perl –pi –e ‘s|ABCD|Linux|g’ `find ./ -type f`的含义是

find ./-type f:找寻当前目录下的类型为f的文件

九、10 2 * * * /data0/apache/schedule/ussd/topnews/import_data.pl /dev/null 的含义:_______将import_data.pl清空或删除

十、rsync -avu 105903.zip 218.206.86.68::mmsres/resource/291/205的含义:_________备份数据用

-a 归档模式,递归传输文件;

-v 详细模式输出;

-u, –update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)

十一、写出x,y的值

十二、使用纯CSS实现未知寸的图片(但高度都小于200px) 在200px的正方形容器中水平和垂直居中,HTML代码如下

程序员面试必备PHP基础面试题 – 第十一天

一、两张表 city表和province表。分别为城市与省份的关系表。

表名:city

id City Provinceid

1 广州 1

2 深圳 1

3 惠州 1

4 长沙 2

5 武汉 3

………. 广州

表名称:province:

id Province

1 广东

2 湖南

3 湖北

……….

1、写一条sql语句关系两个表,实现:显示城市的基本信息。显示字段:城市id ,城市名, 所属省份 。

如:

Id(城市id) Cityname(城市名) Privence(所属省份)

2、如果要统计每个省份有多少个城市,请用group by 查询出来。显示字段:省份id ,省份名,包含多少个城市。

二、主键 和外键表示什么?一般用于做什么?

主键:能够唯一表示数据表中的每个记录的字段或者字段的组合就称为主键。一个主键是唯一识别一个表的每一行记录,但这只是其作用的一疗分,主键的主要作用是将记录和存放在其他表中的数据进行关联,在这一点上,主键是不同表中各记录间的简单指针,主键约整就是确定表中的每一条记录,主键不能是空值,唯一约束是用于指定一个或多个列的组合值具有唯一性,以防止在列中输入重复的值,所以,主键的值对用户而言是没有什么意义,并且和它赋予的值也没有什么特别联系。

外键:若有两个表A,B,C是A的主键,而B中也有C字段,则C就是表B的外键,外键约束主要用来维护两个表之间数据的一致性。A为基本表,B为信息表。

在数据库中,常常不只是一个表,这些表之间也不是相互独立的,不同的表之间需要建立一种关系,才能将它们的数据相互沟通,而在这个沟通过程中,就需要表中有一个字段作为标志,不同的记录对应的字段取值不能相同,也不能是空白的,通过这个字段中不同的值可以区别各条记录,就像我们区别不同的人,每个人都有名字,但它却不能作为主键,因为人名很容易出现重复,而身份证号是每个人都不同的,所以可以根据它来区别不同的人,数据库的表中作为主键的段段就要像人的身份证号一样,必须是每个记录的值都不同,这才能根据

主键的值来确定不同的记录。

关系:外键一定是另外某个表的主键。

三、select now(),Date_ADD(now(),INTERVAL 14 day),Date_SUB(now(),INTERVAL 3 Day) from table; 会获得什么内容,请写出来。

会获得三条数据:

第一条:当前时间;

第二条:当前时间加上14天;

第三条:当前时间减去3天。

四、您所知道的MYSQL 数据库备份,还原方式有哪几种?

备份:

一,搭建主从架构,master-slave,通过binlog文件同步复制主库的数据,也可以直接通过binlog文件恢复数据。

二,通过系统计划任务执行mysqldump做周期性全备份。

三,物理备份,直接拷贝数据文件、参数文件、日志文件。

还原:

一.通过mysql操作工具,如phpmyadmin,sqlyog等导入备份过的数据库文件。

二.将物理备份的文件拷贝到mysql的data目录下

五、内容管理系统中,表message有如下字段

id 文章id

title 文章标题

content 文章内容

category_id 文章分类id

hits 点击量

创建上表,写出MySQL语句

六、同样上述内容管理系统:表comment记录用户回复内容,字段如下

comment_id 回复id

id 文章id,关联message表中的id

comment_content 回复内容

现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面

文章id 文章标题 点击量 回复数量

用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示0

七、内容管理系统,表category保存分类信息,字段如下

category_id int(4) not null auto_increment;

category_name varchar(40) not null;

用户输入文章时,通过选择下拉菜单选定文章分类

写出如何实现这个下拉菜单

八、PHP文件操作

1、内容管理系统:用户提交内容后,系统生成静态HTML页面;写出实现的基本思路

2、简单描述用户修改发布内容的实现流程和基本思路

1)当用户提交后生成一个由url地址MD5后的文件的编译页面,用文件处理file函数生成一个模板合成页,判断模板编译页是否有,模板页无或者编译页的创建时间戳小于模板页的修改时间都会从新生成编译页面,编译后的页面会调用对应数据库的值显示在页面中,通过对内存数据的读取释放,显示出我们看到的静态数据,然后用file文件将其保存起来生成静态的页面

2)当用户修改了发布内容都会修改数据相关的内容,并通过编译页面更新静态数据并用文件的方式缓存起来,当用户查看时将不做任何数据库查找,直接调用该缓存文件即可