php第一次面试心得和总结

第一次面试php开发,没做好准备,虽然面试问的问题都很基础,但是答的不好。重新梳理面试问题和答案,再接再厉!

面试问题

  • PHP是什么

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

PHP 是一种易于学习和使用的开源的服务器端脚本语言,主要应用于web,用PHP编写的大型网站有baidu/taobao/Yahoo/163/Sina等,是用范围广,安全(开源),稳定可靠,开发周期短,执行效率高。

  • HTTP中GET与POST的区别

  1. GET在浏览器回退时是无害的,而POST会再次提交请求。

  2. GET产生的URL地址可以被Bookmark,而POST不可以。

  3. GET请求会被浏览器主动cache,而POST不会,除非手动设置。

  4. GET请求只能进行url编码,而POST支持多种编码方式。

  5. GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

  6. GET请求在URL中传送的参数是有长度限制的,而POST没有。

  7. 对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

  8. GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

  9. GET参数通过URL传递,POST放在Request body中。

  10. GET产生一个TCP数据包,浏览器会把http header和data一并发送出去,服务器响应200(返回数据); POST产生两个TCP数据包,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。

  11. get的效率更高!!!

  • COOKIE和SESSION的区别,什么时候用SESSION

  1. COOKIE保存在客户端,而SESSION则保存在服务器端
  2. 从安全性来讲,SESSION的安全性更高
  3. 从保存内容的类型的角度来讲,COOKIE只保存字符串(及能够自动转换成字符串)
  4. 从保存内容的大小来看,COOKIE保存的内容是有限的,比较小,而SESSION基本上没有这个限制
  5. 从性能的角度来讲,用SESSION的话,对服务器的压力会更大一些
  6. SEEION依赖于COOKIE,但如果禁用COOKIE,也可以通过url传递

例子:使用Session记录用户信息

  • 设计/优化访问量大的网站
  1. 减少http请求(比如使用雪碧图)
  2. 优化数据库(范式、SQL语句、索引、配置、读写分离)
  3. 缓存使用(Memcache、Redis)
  4. 负载均衡
  5. 动态内容静态化+CDN
  6. 禁止外部盗链(refer、图片添加水印)
  7. 控制大文件下载
  8. 使用集群
  • 数据库优化的方法
  1. 合理的设计表结构、表索引
  2. 不在数据库中做运算
  3. 控制单表数据量
  4. 数据量过大进行读写分离,使用INNODB存储引擎
  5. 不再数据表中存储图片
  • 之后聊了为什么选PHP,职业规划,简历项目负责的内容,平时怎么学习和解决问题(官方文档Google,论坛博客,交流),浏览的网站(Stack Overflow,csdn,github),以及怎么评价自己。

你可能感兴趣的:(php第一次面试心得和总结)