描述一下大流量高并发量网站的解决方案

答: 1、确认服务器硬件是否足够支持当前的流量。

2、使用memcache缓存技术,将动态数据缓存到内存中,动态网页直接调用这些文件,而不必在访问数据库。

3、禁止外部的盗链。

4、外部网站的图片或者文件盗链往往会带来大量的负载压力,因此应该严格限制外部对自身图片或者文件盗链,目前可以简单的通过refer来控制盗 链,apache自己就可以通过配置来禁止盗链。

5、控制大文件的下载。 大文件的下载会占用很大的流量,对于非SCSI硬盘来说会消耗,使得网站响应能力下降。

6、使用不同的主机分流主要流量

7、使用流量统计软件。 在网站上安装一个流量统计软件,可以即时知道哪些地方耗费了大量流量,哪些页面需要再进行优化。

8、分库分表。

9、Sphinx全文索引引擎。

如何设计或配置Mysql,才能达到高效使用的目的。

答:

1、数据库设计方面,设计结构良好的数据库,允许部分数据冗余。 选取最适用的字段属性,尽可能把字段设置为NOTNULL,这样在查询的时候,数据库不用去比较NULL值。

2、系统架构设计方面,表散列,把海量数据散列到几个不同的表里面,集群,数据库查询和写入分开。 写高效sql语句,以提高效率。使用连接(join)来代替子查询使用联合(union)来代替手动创建的临时表所得皆必须,只从数据库取必须的数据。必 要的时候用不同的存储引擎,比如Innodb可以减少死锁,HEAP可以提高一个数量级的查询速度。

使用事务使用外键使用索引24.如何进行防SQL注 入?

答:

1、过滤掉一些常见的数据库操作关键字:select,insert,update,delete,and,等或者通过系统函 数:addslashes(需要被过滤的内容)来进行过滤。

2、在PHP配置文件中Register_globals=off;设置为关闭状态 //作用将注册全局变量关闭。比如:接收POST表单的值使用$_POST['user'],如果将register_globals=on;直接使 用$user可以接收表单的值。

3、SQL语句书写的时候尽量不要省略小引号(tab键上面那个)和单引号

4、提高数据库命名技巧,对于一些重要的字段根据程序的特点命名,取不易被猜到的

5、对于常用的方法加以封装,避免直接暴漏SQL语句

6、开启PHP安全模式Safe_mode=on;

7、打开magic_quotes_gpc来防止SQL注入 Magic_quotes_gpc=off;默认是关闭的,它打开后将自动把用户提交的sql语句的查询进行转换,把'转为\',这对防止sql注入有重 大作用。因此开启:magic_quotes_gpc=on;

8、控制错误信息关闭错误提示信息,将错误信息写到系统日志。

9、使用mysqli或pdo预处理。

用PHP写出一个安全的用户登录系统需要注意哪些方面。

答:

1、密码要使用MD5(密码+字符串)进行加 密。

2、登录表单的名称不要跟数据库字段一样,以免暴漏表字段。

3、用户表的表名、字段名、密码尽量用不容易被猜到的。

4、要使用验证码验证登陆,以防止 暴力破解。

5、验证提交的数据是不是来自本网站。

6、登录后台处理代码数据库部分使用预处理,做好过滤,防止sql注入。

使用过哪些PHP框架。试 描述其优劣点。

答:

1、ThinkPHP框 架:优点:功能比较全面,配置相对比较简单,操作相对比较简单,有很多使用示例程序。缺点:提供的操作方法太多,新手不知如何选择,文档不够全面。

用过哪些版本控制工具?

答:使用过git版本控制器。

输出为Mozilla/4.0(compatible;MSIE5.01;Window NT 5.0)时,可能的输出语句是:B

A.$_SERVER['HTTP_USER_AGENT_TYPE'];

B. $_SERVER['HTTP_USER_AGENT'];

C. $_SERVER['USER_AGENT'];

D. $_SERVER['AGENT'];

下面功能PHP无法实现的是:D

A. 服务器端脚本运行

B. 命令行脚本运行

C. 客户端图形界面(GUI)程序

D. 浏览器端执行DOM操作

下面说法不正确的是:C

A. PHP有四种标量类型:布尔型(boolean),整型(integer),浮点型(float),字符串(string)

B. 浮点型(float)与双精度型(double)是同一种类型

C. 符合类型包括:数组(array),对象(object),资源(resource)

D. 伪类型:混合型(mixed),数字型(number),回调(callback)

下面不是PHP语法的组成部分的函数是:AD

A. array B. eval C. each D. list

SESSION与 COOKIE的区别是什么,请从协议,产生的原因与作用说明?

答:
1、http无状态协议,不能区分用户是否是从同一个网站上来的,同一个用户请求不同的 页面不能看做是同一个用户。

2、SESSION保存在服务器端,COOKIE保存在客户端,SESSION依赖COOKIE进行传输,如果COOKIE被 禁用了,SESSION将不能继续使用。

HTTP状态中302、403、 500代码含义?

答:

300重定向、403服务器拒绝访问、500服务器内部错误。

Linux 下建立压缩包,解压缩包的命令。

答:
1、压缩:gzip 、tar cvfz、zip、bzip22、解压:gunzip、tar zxvf、unzip、bunzip2
$a=3;$b=4; if($a||$b=5){ ||或和|的区别 echo 'todo'; } $b的值是(a):
A a. 4; b. 5; c. 3; d. false

什么是面向对象?主要特征是什么?

答:
1、面向对象是程序的一种设计方式,它利于提高程序的重用性,是程序结构更加清晰。
2、主要特征:封装、继承、多态。

参考地址: https://www.kancloud.cn/he_he/thinkphp5/826339

PHP中级程序员常见面试题相关推荐

  1. java中级程序员面试题_中级Java程序员常见面试题汇总

    下面是一些中级Java程序员常见面试题汇总,你可以用它来好好准备面试. 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器 ...

  2. 微信小程序【常见面试题】

    微信小程序常见面试题 小程序的登录需要请求几次? 小程序怎样使用自定义组件? 小程序的生命周期 小程序是双向数据绑定吗?怎么更新data 小程序本地存储有哪些常用api? wx.navigateTo和 ...

  3. 开发c s架构java应用程序6_java常见面试题

    1.什么是B/S架构?什么是C/S架构B/S(Browser/Server), 浏览器/服务器程序C/S(Client/Server),客户端/服务端,桌面应用程序 2.你所知道网络协议有那些? HT ...

  4. C/C++程序员应聘常见面试题深入剖析

    为什么80%的码农都做不了架构师?>>>    C/C++程序员应聘常见面试题深入剖析 1.引言 本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内 ...

  5. js怎么在一个div中嵌入另一网站_好程序员web前端学习路线分享HTML5常见面试题集锦一...

    好程序员web前端学习路线分享HTML5常见面试题集锦,接下来将会持续为大家分享几篇HTML5常见面试题. 1.布局 左边20% 中间自适应 右边200px 不能用定位 答案:圣杯布局/双飞翼布局或者 ...

  6. SAS程序员面试经历及常见面试题

    最近很多小伙伴都在看机会,我也分享一下最近的面试经历,并附上一些常见的面试题. 面试过程: 1.自我介绍,进行简要自我介绍 2.职业技能,会什么,简历上的实践经历 3.英语水平,简要介绍自己最喜欢学科 ...

  7. html5退出全屏触发的方法_好程序员web前端分享HTML5常见面试题集锦二

    web前端分享HTML5常见面试题集锦第二篇,希望对大家有所帮助. 1. 方法1: html,body{height: 100%;} body{ margin: 0;display: flex; ju ...

  8. 面试题(2020)微信小程序常见面试题

    面试题(2020)微信小程序常见面试题 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 1.微信的小程序的主要文件 WXML-- ...

  9. Spring常见面试题及答案汇总1000道(春招+秋招+社招)

    Spring面试题以及答案整理[最新版]Spring高级面试题大全(2021版),发现网上很多Spring面试题都没有答案,所以花了很长时间搜集,本套Spring面试题大全,汇总了大量经典的Sprin ...

  10. Java多线程常见面试题及答案汇总1000道(春招+秋招+社招)

    Java多线程面试题以及答案整理[最新版]Java多线程高级面试题大全(2021版),发现网上很多Java多线程面试题都没有答案,所以花了很长时间搜集,本套Java多线程面试题大全,汇总了大量经典的J ...

最新文章

  1. mysql 正则 java 区别_MySQL中的正则表达式
  2. wxWidgets:wxKeyEvent类用法
  3. 妈的,混蛋 wfopen_s 函数
  4. android智能老人机系统,国产老人机也可以变智能!可运行Android
  5. php 实例化模型出错,实例化model出错了
  6. nginx 部署_部署 hexo 到 nginx
  7. mysql 索引空间大小_查看数据库表中容量大小,表有多少记录,占多少空间以及索引的大小,以及未使用空间...
  8. 得到IOleInPlaceActiveObject接口,IOleInPlaceActiveObject::TranslateAccelerator(msg);
  9. string的operate+=
  10. 等距排列 html,【任务8-6】创建等距排列的4列式布局网页0806.html.pptx
  11. 用网页做触摸屏展示的设计要点
  12. 软件工程实践总结--个人作业
  13. 网站建设备案和不备案的一些疑惑问题大全
  14. JUCE框架教程(2)—— 创建一个基本的音频/MIDI 插件第一部分:设置
  15. 数学分析教程(科大)——1.6笔记+习题
  16. 微信公众号迁移公证书办理流程
  17. Python defaultdict() 的理解
  18. dsp版win10和普通版区别_Win10和 Windows10版本区别是什么?
  19. vant vant-list碰到的坑
  20. Python:语音处理,实现在线朗读RFC文档或本地文本文件

热门文章

  1. 【论文笔记】:Region Proposal by Guided Anchoring
  2. 高仿有赞微小店SplashView
  3. linux tac命令,Linux tac 命令 command not found tac 命令详解 tac 命令未找到 tac 命令安装 - CommandNotFound ⚡️ 坑否...
  4. Android Studio第一次安装app到夜神模拟器报错
  5. PowerVR 6系列架构分析
  6. 损失函数MSE和MAE的区别以及如何选择
  7. 一些关于coffeescript
  8. win10+mosquitto服务器配置单向认证与双向认证
  9. 360前端校招2019笔试编程题
  10. 《自控力》读书笔记及实践