《PHP程序员面试笔试宝典》针对当前各大IT企业面试笔试中特性与侧重点,精心挑选了近3年以来近百家典型IT企业的PHP面试笔试真题,这些企业涉及业务包括系统软件、搜索引擎、电子商务、手机APP、安全软件等,所选面试笔试真题非常具有代表性与参考性。同时,本书对这些题目进行了合理的划分与归类,并且对其进行了庖丁解牛式的分析与讲解,针对试题中涉及的部分重难点问题,本书都进行了适当地扩展与延伸,力求对知识点的讲解清晰而不紊乱,全面而不啰嗦,不仅如此,本书除了对PHP的基础语言知识进行深度剖析以外,还针对数据库、设计模式等相关知识的笔试面试做了非常详细的介绍。读者通过本书不仅能够获取到求职的知识,同时还可以更有针对性地进行求职准备,*终能够收获一份满意的工作。
《PHP程序员面试笔试宝典》是一本计算机相关专业毕业生面试笔试的求职用书,同时也适合期望在计算机软、硬件行业大显身手的计算机爱好者阅读。本书起于PHP面试笔试,但收获的不止面试笔试,还有更多的PHP实用操作技能。书中附有大量面试笔试真题,让读者能够*大限度地提升应试技能。
前言
上篇:面试笔试经验技巧篇
经验技巧1 如何巧妙地回答面试官的问题2
经验技巧2 如何回答技术性的问题3
经验技巧3 如何回答非技术性问题4
经验技巧4 如何回答快速估算类问题5
经验技巧5 如何回答算法设计问题6
经验技巧6 如何回答系统设计题8
经验技巧7 如何解决求职中的时间冲突问题11
经验技巧8 如果面试问题曾经遇见过,是否要告知面试官12
经验技巧9 在被企业拒绝后是否可以再申请12
经验技巧10 如何应对自己不会回答的问题13
经验技巧11 如何应对面试官的“激将法”语言13
经验技巧12 如何处理与面试官持不同观点这个问题14
经验技巧13 什么是职场暗语14
经验技巧14 如何进行自我介绍?18
经验技巧15 如何克服面试中紧张的情绪?19
经验技巧16 如何准备集体面试?21
经验技巧17 如何准备电话面试?23
经验技巧18 签约和违约需要注意哪些事情?24
下篇:面试笔试技术攻克篇
第1章 PHP基础知识29
1.1 PHP语言29
1.1.1 PHP与ASP、JSP有什么区别?29
1.1.2 PHP与HTML有什么区别?31
1.1.3 PHP的优点是什么?32
1.1.4 PHP的输出语句有哪些?33
1.1.5 如何区分单引号与双引号?35
1.1.6 什么是XML?37
1.2 面向对象技术40
1.2.1 面向对象与面向过程有什么区别?40
1.2.2 面向对象的特征是什么?41
1.2.3 面向对象的开发方式有什么优点?41
1.2.4 类与对象的区别是什么?41
1.2.5 PHP5 中魔术方法有哪些?43
1.2.6 值传递与引用传递有什么区别?51
1.2.7 什么是对象克隆?52
1.2.8 什么是延迟静态绑定?56
1.2.9 作用域范围有哪几种?57
1.2.10 什么是构造函数?什么是析构函数?58
1.2.11 什么是继承?60
1.2.12 抽象类与接口有什么区别与联系?63
1.2.13 什么是多态?65
1.3 关键字67
1.3.1 final有什么作用?67
1.3.2 finally有什么作用?68
1.3.3 assert有什么作用?69
1.3.4 static有什么作用?70
1.3.5 global有什么作用?72
1.3.6 this、self和parent的区别是什么?73
1.3.7 include与require有什么区别?75
1.3.8 break、continue与return有什么区别与联系?77
1.3.9 switch有什么作用?79
1.4 常量与变量81
1.4.1 什么是常量?81
1.4.2 什么是变量?84
1.4.3 如何判断变量是否存在、是否为非空字符或非零?87
1.4.4 变量的作用域范围有哪几种?87
1.4.5 如何对变量进行引用?89
1.5 数据类型90
1.5.1 基本数据类型有哪些?90
1.5.2 如何进行类型转换?92
1.6 运算符93
1.6.1 运算符的种类有哪些?93
1.6.2 ++与—的含义是什么?100
1.7 字符串101
1.7.1 字符串处理函数有哪些?101
1.7.2 ==与===有什么区别?106
1.8 正则表达式106
1.9 函数111
1.9.1 传值和引用的区别是什么?111
1.9.2 什么是默认参数?114
1.9.3 什么是函数返回值?114
1.9.4 如何进行函数调用?115
1.10 数组117
1.10.1 如何进行数组的定义与声明?117
1.10.2 什么是多维数组?121
1.10.3 数组函数有哪些?124
1.11 文件管理130
1.11.1 有哪些文件操作?130
1.11.2 涉及文件操作的函数有哪些?134
1.12 异常处理与错误处理137
1.12.1 什么是异常处理与错误处理?137
1.12.2 error_reporting()的作用是什么?138
1.12.3 如何进行异常捕捉与处理?139
1.12.4 如何实现自定义的异常类?141
1.13 内存管理141
1.13.1 什么是内存管理?141
1.13.2 什么是垃圾回收?142
1.14 Redis143
1.14.1 什么是Redis?143
1.14.2 Redis的常见问题有哪些?145
1.15 Memcache147
第2章 PHP Web与框架153
2.1 PHP Web153
2.1.1 Session与Cookie的区别是什么?153
2.1.2 GET和POST有什么区别?158
2.1.3 如何预防各类安全性问题?160
2.1.4 HTTP状态码的含义是什么?161
2.1.5 utf-8编码需要注意哪些问题?164
2.1.6 如何进行网站的优化?165
2.2 模板166
2.3 框架167
2.3.1 什么是MVC?167
2.3.2 PHP的开发框架有哪些?168
2.3.3 什么是CI框架?168
2.4 JavaScript、HTML、CSS等171
第3章 PHP进阶知识173
3.1 时间和日期管理173
3.1.1 如何输出年-月-日?173
3.1.2 如何输出时-分-秒?174
3.1.3 如何输出闰年-星期-天?175
3.1.4 PHP相关的日期函数有哪些?176
3.2 缓存179
3.3 文件管理180
3.3.1 PHP中文件操作函数有哪些?180
3.3.2 如何进行文件上传?183
3.3.3 如何进行文件下载?185
3.3.4 如何进行版本管理?186
3.4 验证码187
第4章 设计模式188
4.1 常见的设计模式有哪些?188
4.2 什么是单例模式?190
4.3 什么是工厂模式?191
4.4 什么是观察者模式?192
第5章 数据库196
5.1 数据库基础知识196
5.1.1 SQL语言的功能有哪些?197
5.1.2 内连接与外连接有什么区别?199
5.1.3 什么是事务?200
5.1.4 什么是存储过程?它与函数有什么区别与联系?202
5.1.5 一二三四范式有何区别?202
5.1.6 什么是触发器?204
5.1.7 什么是游标?205
5.1.8 如果数据库日志满了,那么会出现什么情况?206
5.1.9 UNION和UNION ALL有什么区别?206
5.1.10 什么是视图?207
5.1.11 什么是数据库三级封锁协议?207
5.1.12 索引的优缺点208
5.2 MySQL基础知识209
5.2.1 PHP操作MySQL的函数有哪些?210
5.2.2 PHP连接MySQL的方法是什么?211
5.2.3 MySQLi访问数据库的方法214
5.2.4 如何进行MySQL操作?218
5.2.5 MySQL支持哪些字段类型?227
5.2.6 什么是索引?230
5.2.7 什么是数据库引擎?232
5.2.8 如何进行数据库分页?233
5.2.9 什么是数据库权限?237
5.2.10 PHP Web访问MySQL方法是什么?238
5.2.11 如何高效操作MySQL?240
5.3 MySQL高级管理240
5.3.1 如何对MySQL进行优化?240
5.3.2 如何进行数据库优化?244
5.3.3 如何进行数据库操作优化?247
5.3.4 如何进行数据库表优化?249
第6章 操作系统255
6.1 进程管理255
6.1.1 进程与线程有什么区别?255
6.1.2 线程同步有哪些机制?256
6.1.3 内核线程和用户线程的区别256
6.2 内存管理257
6.2.1 内存管理有哪几种方式?257
6.2.2 什么是虚拟内存?258
6.2.3 什么是内存碎片?什么是内碎片?什么是外碎片?258
6.2.4 虚拟地址、逻辑地址、线性地址、物理地址有什么区别?259
6.2.5 Cache替换算法有哪些?259
6.3 用户编程接口261
6.3.1 库函数调用与系统调用有什么不同?261
6.3.2 静态链接与动态链接有什么区别?261
6.3.3 静态链接库与动态链接库有什么区别?262
6.3.4 用户态和核心态有什么区别?262
6.3.5 用户栈与内核栈有什么区别?263
第7章 网络264
7.1 TCP/IP264
7.1.1 协议264
7.1.2 TCP/IP265
7.1.3 常见笔试题265
7.2 RESTful架构风格266
7.2.1 REST266
7.2.2 约束条件267
7.2.3 常见笔试题267
7.3 HTTP268
7.3.1 URI和URL268
7.3.2 HTTP协议269
7.3.3 HTTP报文271
7.3.4 HTTP首部272
7.3.5 缓存273
7.3.6 常见笔试题275
7.4 TCP276
7.4.1 连接管理276
7.4.2 确认应答278
7.4.3 窗口控制280
7.4.4 重传控制281
7.4.5 常见笔试题281
7.5 HTTPS282
7.5.1 加密283
7.5.2 数字签名283
7.5.3 数字证书284
7.5.4 安全通信机制284
7.5.5 常见笔试题286
7.6 HTTP/2.0286
7.6.1 二进制分帧层287
7.6.2 多路通信287
7.6.3 请求优先级288
7.6.4 服务器推送288
7.6.5 首部压缩289
7.6.6 常见笔试题289
第8章 大数据290
8.1 从大量的URL中找出相同的URL290
8.2 求高频词290
8.3 找出访问百度最多的IP291
8.4 在大量的数据中找出不重复的整数292
8.5 在大量的数据中判断一个数是否存在292
8.6 如何查询最热门的查询串293
8.7 统计不同电话号码的个数294
8.8 从5亿个数中找出中位数295
8.9 按照query的频度排序296
8.10 找出排名前500的数297
附录 真题及答案298
真题1298
真题2300
真题3303
真题1答案305
真题2答案306
真题3答案308