常用记录

php 知识点

https://www.cnblogs.com/-shu/p/4600987.html

https://zhuanlan.zhihu.com/p/25936654


- PHP 
- PHP 7 新特性 
- 随意列举几个 array 相关函数 
- 反转一个数组 
- Composer 
- 自动加载原理 (spl_autoload_register) 
- PSR 
- 对代码质量的态度 
- 引用传递 
- 引用和指针的区别 
- 浮点数 
- __invoke 
- 编辑器 / IDE 
- 标准库 
- ArrayList 
- Iterator 迭代器 
- 反射 
- 反射的作用 
- 调试手段 
- SAPI 
- PHP-FPM 的运行方式 
- CGI 是什么 
- Fastcgi 
- 如何优化 
- 底层 
- php-src 是如何保存变量的 
- $a = 1; $b=$a 是如何保存的 
- 什么是引用计数




1、先自我介绍一下,礼貌~; 
2、让对方介绍项目(看对方表达能力和对项目的了解); 
3、php 基础:面向对象、设计模式(结合实际例子来说); 
4、http 协议相关: http 协议,可能会问到 cookie、session 之类的、4xx/5xx 报错如何捕获; 
5、业务:用户非常多的网站,开发抽奖 /秒杀系统系统,可能有哪些问题,怎么解决?(看分析问题能力,包括并发、缓存、安全); 
6、优化:5 的系统开发好了,页面很慢,从哪些方面分析?(前后端都有可能,看他有没有实际解决问题的经验和能力),可能会问到前端的优化、php 的分析和优化、redis 的设计、mysql 的性能分析和优化; 
7、遇到以上问题解决不了的,怎么办?平时会看哪些网站 /书学习?最近看过的开源项目 /书是? 
(很多人口头上自己热情积极学习,其实一问就知道) 
8、有些人会说我看 Laravel 什么什么的,就继续问,composer 怎么实现自动加载的?框架的流程大致是什么样的?路由怎么实现的?怎么做单元测试?依赖注入?等等 
9、其他:有什么优缺点?有什么问我的?等等 


技术线(偏深度): 
1. 基础知识,比如数据结构,面向对象,设计模式,I/O,Http 协议等 
2. 语言深度,比如 PHP 的运行机制,自动加载,性能优化,APC/OPcache (以及其原理等),异常处理,安全 
3. 源码阅读,比如看过哪些框架,其中的机制是怎么样的,往细了问(如自动加载、依赖注入、Laravel 的 Facades 门面模式、路由) 
4. 知识宽度,静态语言,比如 C、Java 等,顺便看学习积极性 
5. 项目经验,做过什么,是否复杂,负责什么,做了什么 
6. 设计,这一点和第五点比较类似 


业务线(偏能力): 
1. 业务能力,也就是之前做过的项目(担任的角色,负责的部分),可以举例自己觉得做得不错的项目; 
2. 沟通能力,这一点能从沟通中就看出来 
3. 主动性,之前主动推动的事物等等,哪怕是一个小的点也可以 
4. 抗压能力,之前做过的项目中去挖掘细节 
5. 技术宽度,了解不一定要深入,我一般会问一些比较泛的,比如多语言,Linux 操作,HTTP 协议等 
6. 解决问题能力,如何调试错误,如何分析问题,如何调优 


  1.mysql 索引在哪些情况下失效?
    2.介绍一下 mysql 事物的锁
    3.将 1 核 1G 的 redis 服务器上升级为 2 核 2G 的服务,对性能有提升吗?如何扩展性能
    4.购物车是怎么实现的
    5.无限级分类,用最优的方案删除某一个节点下所有子节点
    6.对 PSR 的理解
    7.看到有熟练使用 linux 的会问 vim 跳转到最后一行命令是什么?



PHP开发工程师笔试试卷


一、PHP开发部分

1.合并两个数组有几种方式,试比较它们的异同

2.请写一个函数来检查用户提交的数据是否为整数(不区分数据类型,可以为二进制、八进制、十进制、十六进制数字)

3.PHP的strtolower()和strtoupper()函数在安装非中文系统的服务器下可能会导致将汉字转换为乱码,请写两个替代的函数实现兼容Unicode文字的字符串大小写转换

4.PHP的is_writeable()函数存在Bug,无法准确判断一个目录/文件是否可写,请写一个函数来判断目录/文件是否绝对可写

5.PHP的chmod()函数存在Bug,无法保证设置成功,请写一个函数在指定路径下创建一个目录/文件并确保可以正确设置权限掩码
6.PHP处理上传文件信息数组中的文件类型$_FILES['type']由客户端浏览器提供,有可能是黑客伪造的信息,请写一个函数来确保用户上传的图像文件类型真实可靠
7.PHP通过对数据的URL编码来实现与Javascript的数据交互,但是对于部分特殊字符的编解码与Javascript的规则不尽相同,请具体说明这种差异,并针对UTF-8字符集的数据,写出PHP的编解码函数和Javascript的编解码函数,确保PHP编码数据可以被Javascript正确解码 、Javascript编码的数据可以被PHP正确解码
8.试阐述Memcache的key多节点分布的算法?当任一节点出现故障时PHP的Memcache客户端将如何处置?如何确保Memcache数据读写操作的原子性?


9.如何实现PHP的安全最大化?怎样避免SQL注入漏洞和XSS跨站脚本攻击漏洞?


10.请设计一个数据结构可以实现无限级子菜单的树型菜单功能并提供菜单生成算法,用UML描述设计并写出相关PHP代码


二、系统相关部分


1.请简述Linux、FreeBSD、Soalaris、Mac OS、Windows几种系统下进程与线程的内核实现方式、管理机制的异同


2.请简述Linux/BSD系统下进程间通讯的方式有哪些,并具体说明在PHP下如何实现


3.请简述Linux/BSD系统下系统的消息/事件异步通知机制有几种,并加以比较


4.简单比较TCP/UDP协议的异同,对于PHP的Socket扩展与Stream扩展,试比较两者基于TCP/UDP协议的SOCKET编程差异?


5.为什么会出现僵死进程(孤儿进程)?怎样查看僵死进程?如何解决僵死进程问题?


6.对于System-V消息队列,如何解决系统本身对于消息队列条数、总容量(字节数)的限制?如何设置消息的优先级别?请比较阻塞模式和非阻塞模式的异同,并说明如何避免非阻塞模式下的消息队列堵塞?


7.请描述Apache 2.x版本的MPM(Multi-Processing Module)机制,并具体说明在不同的MPM机制下如何支持PHP?


8.请简述PHP在Apache下的几种运行方式并加以比较?如何让PHP在Linux+Apache下以Fast CGI方式运行?


9. 请写出让PHP能够在命令行下以脚本方式执行时安装PHP所必须指定的configure参数,并说明如何在命令行下运行PHP脚本(写出两种方式)同时向PHP脚本传递参数?


10.请简述PHP 5.2的内存池及其内存管理机制、垃圾回收机制






说在前面:


1、以下题目,除了编程任务外其他都需要写在给你提供的草纸上。纸张是珍贵的地球资源,请节约使用。编程任务在有相应的环境时,会要求上机书写,实在没有条件,就只能写在草纸上了。


2、时间:


基础任务+进阶任务+设计任务 = 90分钟


编程任务 = 60分钟


基础任务:


1、请列举你能想到的UNIX信号,并说明信号用途。


2、请列举、你能想到的所有的字符串查找算法,并加注释简单说明。


3、有一个IP地址(192.168.0.1),请写出其32位无符号整数形式。


4、写出、你能想到的所有HTTP返回状态值,并说明用途(比如:返回404表示找不到页面)




你可能感兴趣的:(LAMP,教程)