php面试题及详细答案解析

PHP程序员应该具备独立分析和解决问题的能力,还要让面试官看到你的能力,那么php面试题一般有什么内容呢?今天小编整理了php面试题及详细答案供大家参考,一起来看看吧!php面试题及详细答案1、给你四

php面试题及详细答案解析

PHP程序员应该具备独立分析和解决问题的能力,还要让面试官看到你的能力,那么php面试题一般有什么内容呢?今天小编整理了php面试题及详细答案供大家参考,一起来看看吧!

php面试题及详细答案

php面试题及详细答案

1、给你四个坐标点,判断它们能不能组成一个矩形,如判断 ([0,0],[0,1],[1,1],[1,0]) 能组成一个矩形。

勾股定理,矩形是对角线相等的四边形。只要任意三点不在一条直线上,任选一点,求这一点到另外三点的长度的平方,两个短的之和如果等于最长的,那么这就是矩形。

2、获取当前客户端的 IP 地址,并判断是否在

(111.111.111.111,222.222.222.222)

如果没有使用代理服务器:

$ip = $_SERVER['REMOTE_ADDR'];

使用透明代理

$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

3、nginx 的 log_format 配置如下:

1 log_format main ‘remoteaddr−remote_user [timelocal]"request”’

2 ‘statusbody_bytes_sent “httpreferer"″"http_user_agent” “upstreamresponsetime""request_time” “http_x_forwarded_for"';从今天的 nginx log 文件 access.log 中:a、列出 “request_time” 最大的 20 行?b、列出早上 10 点访问量做多的 20 个 url 地址?4、什么是 CSRF 攻击?XSS 攻击?如何防范? CSRF:跨站请求伪造,可以通过通过判断来源和加 Token 的方式来防范。XSS:跨站脚本攻击,可以通过对内容转义和过滤来防范,还有 CSP

5、从扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这 5 张牌是连续的

这个问题有个关键点,扑克牌,1-13 不能再多了。这就很简单了。用 PHP 来做,定义一个数组分别存着 1 到 13, 拿出一个,置空一个,最后看下 这五个置空的 是不是连续的。这种情况不考虑抽出的顺序。

6、两条相交的单向链表,如何求它们的第一个公共节点

思想:

如果两个链表相交,则从相交点开始,后面的节点都相同,即最后一个节点肯定相同;

从头到尾遍历两个链表,并记录链表长度,当二者的尾节点不同,则二者肯定不相交;

尾节点相同,如果 A 长为 LA,B 为 LB,如果 LA>LB, 则 A 前 LA-LB 个先跳过

如果两个单向链表有公共的结点,也就是说两个链表从某一结点开始,它们的 m_pNext 都指向同一个结点。但由于是单向链表的结点,每个结点只有一个 m_pNext,因此从第一个公共结点开始,之后它们所有结点都是重合的,不可能再出现分叉。所以,两个有公共结点而部分重合的链表,拓扑形状看起来像一个 Y,而不可能像 X。

7、最长公共子序列问题 LCS,如有 [1,2,5,11,32,15,77] 和 [99,32,15,5,1,77] 两个数组,找到它们共同都拥有的数,写出时间复杂度最优的代码,不能用 array_intersect(这里有坑,需要去研究一下动态规划)。

8、linux 的内存分配和多线程原理

9、MYSQL 中主键与唯一索引的区别

主键:绝对不能有空值。唯一索引:可以有空值

10、http 与 https 的主要区别

关键是 S 上。简而言之,https 建立连接后要先把 SSL 的证书发下去,有了公钥和私钥,就可以解密了。

11、http 状态码及其含意

200 请求已成功,请求所希望的响应头或数据体将随此响应返回。

301 被请求的资源已永久移动到新位置。

302 请求的资源现在临时从不同的 URI 响应请求。

400 1、语义有误,当前请求无法被服务器理解。2、请求参数有误。

401 当前请求需要用户验证。

403 服务器已经理解请求,但是拒绝执行它。

404 请求失败,请求所希望得到的资源未被在服务器上发现。

500 服务器遇到了一个未曾预料的状况,无法完成对请求的处理,会在程序码出错时出现。

501 服务器不支持当前请求所需要的某个功能。无法识别请求的方法。

502 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

503 由于临时的服务器维护或者过载,服务器当前无法处理请求。

12、linux 中怎么查看系统资源占用情况

top、htop、free、uptime

13、SQL 注入的原理是什么?如何防止 SQL 注入 原理:第一 SQL 本身有问题(这个不是主要问题)。第二你写的 SQL 很有问题(这是最主要的)防范:第一,绝对不要相信用户输入的任何东西。第二,预编译。现在的框架一般都会有 SQL 过滤的。

14、isset (null) isset (false) empty (null) empty (false) 输出 PHP 入门问题,isset 和 empty 的区别分别是 false, true, true, true

15、优化 MYSQL 的方法 第一,数据超过一定数量或者体积,请拆分表,垂直或者水平分(最有效果的优化)第二,务必有自增主键。通过自增主键来查数据是最快的。第三,常用的查询字段建立联合索引,写 SQL 一定要尊从最左原则,用到这个索引。第四,不要把逻辑运算放到 sql 里。言外之意是,不要写太复杂的 SQL,你能写复杂的 SQL 你肯定也能通过 PHP 实现。

php面试宝典

说到php面试宝典,可能在一百个人看来,就有一百个哈姆雷特。所以说,没有绝对的宝典,只有相对的经验。根据小编的'总结,这些经验主要体现在以下三个方面。

第一,专业技术不可少。

毕竟公司招的是专业的php工程师,如果他不能为企业解决相关的技术问题,是不可能得到这份工作的。在面试时,技术方面的主考官很可能把自己遇到的实际问题摆在应聘者眼前,如果应聘者回答得不能让人满意,很可能就止步于此了。假设你也要应聘php工程师,没有知识上的积累,很可能会导致应聘失败。程序员的职业发展规划和分类

第二,综合素质很重要。

在php面试宝典里,这一条也是相当重要的。所谓综合素质,既包括应聘者的事业心、进取心,又包括他对工作的热情、自律能力等内容。试想,如果一个应聘php工程师的人,除了在专业上的能力,其他一无是处,那么,主考官不会录用他的。这是因为,php工程师也要与公司里的其他人和平共处,也要得到别人的支持,或者给予别人支持。

第三,回答薪酬要讨巧。

很多php工程师在面对主考官时,会被问到预期的工资的问题。这个问题确实有点棘手,如果你要价高了,招聘单位不会录用你,如果你要价低了,又不能体现出自己的价值,让自己受了委屈。所以,在回答这一问题时,一定要从实际情况出发,将行业内盛行的工资水平作为参考,加上自己的预期,给主考官报一个在合理范畴内的工资水准。

学习了php面试宝典,应聘者还要注意,任何一份工作都有自己的特殊性,如果你对这份工作没有必要的激情和动力,就不要去争夺它了。因为,这样既浪费了你自己的时间和精力,也给主考官带来了一定的困扰。

php运行机制

PHP常见的运行模式有2种,分别是php-fpm 和php-cli 。当PHP 选择运行在php-fpm模式下,所有的变量都是页面级的,无论是全局变量还是类的静态成员,都会在页面执行完毕后被清空。运行在php-cli模式下可以实现程序常驻内存,各种变量和数据库连接都能长久保存在内存 实现资源复用,性能可以得到很大的提升,php-cli虽然开发比较复杂,但是能够获取更高的性能,对开发者的要求比较高需要比较高的开发水平,比较常用的模式是结合swoole 组件编写cli框架,各种变量能保存在跨进程的高性能共享内存 Table ,可以开发出支持热启动的php-cli可靠各类应用系统。

php-fpm在PHP 5.3.3 版本成为了官方正式组件(2010-07-22),它提供了稳定可靠的进程管理服务,进程不足时候可以智能扩充数量,闲置时候可以自动回收销毁多余的进程,同时它对程序的容错能力很强大运行非常稳定,可以应付企业级的开发需求。php-fpm友好的完成了使用HTTP/HTTPS等TCP/IP互联网协议下进行的用户的输入输出,页面级生命周期各种资源用完即释放,不存在内存泄漏的问题。php-fpm也提供有一些常驻内存的技术支持,例如PHP 7.4引入的opcache.preload也能实现局部的PHP类和函数的常驻内存,不过这个方法不够灵活,和服务器配置捆绑的太死了。

php-cli因为能实现各类资源的常驻内存,所以可以资源复用,更高效完成多进程编程和异步编程,可以开发出负载能力更高的应用系统。但是相对php-fpm的简单编程开发,开发者要注意很多的事项和需要做很多附加的控制器开发,否则就无法实现期待中的高性能。

首先开发者需要去实现可靠的进程管理服务,保证系统进程遇到各类错误退出运行后能够自动创建新的进程,只有这样才能保证后续的服务请求有足够空闲进程可分配。每个业务代码段都要做异常处理,让进程遇到非致命错误时候不会退出,因为进程重启意味程序和各类资源需要再次加载,这个过程性能消耗不小,所以只有进程稳定运行了常驻内存才有意义。

其次因为常驻内存,编写的新的程序必须重启服务才能生效,这一点习惯了fpm模式的开发者会感到比较陌生。另外开发者需要手工释放内存,否则系统长时间运行后会出现内存泄露。同时在cli模式下,我们不能像fpm里直接用 $_SERVER、$_POST、$_GET、$_COOKI和$_FILES 进行编程工作,需要自己去解析各种互联网通讯协议完成用户的输入输出。要实现多进程编程利用多核CPU计算,还有学习使用pcntl和posix编程,这里涉及到了异步编程逻辑,这块难度还是比较大的。比较常用的模式是结合swoole 组件编写cli框架。

PHP是一个活跃的社区开发语言,有专业的核心开发团队在持续不断的迭代,最近一个版本就是PHP 8.0.8 引入了很多的新特性。

(0)
小多多的头像小多多创始人

相关推荐

  • 星期三最容易导致情绪低落,突然情绪低落怎么回事(长期情绪低落怎么办)

    星期三最容易导致情绪低落 星期三最容易导致情绪低落 每到周一,你总觉得自己经过一番挣扎才肯去上班吗?事实未必如此。澳大利亚心理学家最新发现,周三才是人们情绪的最低点。 研究者调查了…

    职场 2021年12月13日
  • 一级消防工程师一年收入多少_有哪些福利

    一级消防工程师一年收入多少?一级消防工程师的收入水平和城市发展水平有一定的关系,通常一线城市的薪资待遇比较好,年薪一般在18-25万元左右。下面小编带来了一级消防工程师一年收入多少,供大家参考!一级消

    职场 2023年9月11日
  • 研究生英语面试自我介绍

    对于研究生来说,怎么做好面试中的自我介绍,吸引面试官呢?英文是否也掌握了呢?以下是小编帮你们整理的研究生英语面试自我介绍范文,一起来学习啦。 研究生英语面试自我介绍范文篇一

    2023年7月5日
  • 面试自我介绍必备技巧

    自我介绍需将自己最美好的一面,毫无保留地展现出来,不但要令对方留下深刻的印象,还要即时引起其购买欲。下面是小编为大家整理的面试自我介绍必备技巧,仅供参考。 案例一:如何把握时间

    2023年8月4日
  • 自主招生理科自荐信模板3篇

    自主招生自荐信是我们向眼前的对方介绍自己和推荐自己的信函。高校都会对自主招生材料进行审核,在众多的申请者中选取部分考生进行测试。你是否在找正准备撰写“自主招生理科自荐信模板”,下面小编收集了相关的素材

    2024年2月25日
  • 自荐信500字医学生(优秀8篇)

    自荐信500字医学生要怎么写,才更标准规范?根据多年的文秘写作经验,参考优秀的自荐信500字医学生样本能让你事半功倍,下面分享【自荐信500字医学生】,供你选择借鉴。 自荐信500字医学生篇1尊敬各位

    2023年9月23日
  • 工作要有张有弛 拒绝工作狂病态,工作狂是什么意思(工作狂的定义)

    工作要有张有弛 拒绝工作狂病态 拒绝工作狂病态 案例:小周是单位里的“劳模”,工作起来废寝忘食,朋友好不容易约他周末去玩,他也手机、笔记本不离身,一刻不得消…

    职场 2021年12月13日
  • 对于职场礼仪有什么体会_职场礼仪的体会

    坚持保持工作和私人生活的平衡,不要牺牲自己的健康和家庭时间。对他人的观点和建议,应以平等和谦虚的态度来回应,以便更有效地解决问题。下面就让小编给大家带来对于职场礼仪有什么体会,希望大家喜欢!对于职场礼

    2023年6月7日
  • 学习职场礼仪总结报告6篇

    在处理公司文件和资料时,要进行适当的备份和归档,保护公司和客户的隐私。在处理公司财务时,要严格遵守公司的财务制度和规定,保证账目的准确和合法。下面就让小编给大家带来学习职场礼仪总结报告,希望大家喜欢!

    2023年6月13日
  • 职场有人带动别人孤立你 你会怎么办?

      相信很多人刚进入职场,一开始总是充满热情。当他们想做大事的时候,突然发现工作的时候并没有他们想象的那么简单纯净。甚至会在一些工作场所遭受冷暴力。职场有人带动别人孤立你,你会怎么办?

    职场 2021年10月30日
  • 助产求职简历模板6篇

    简历是求职者经过分析整理并清晰简要表述出来的书面求职资料。而每个人都要面临着寻找工作的苦恼,因为寻找工作我们需要精心准备简历等各种资料。你是否在找正准备撰写“助产求职简历”,下面小编收集了相关的素材,

    2024年2月21日
  • 公司面试的自我介绍

    公司面试都要不了自我介绍环节,所以面试者要做好充分准备。以下是小编帮你们整理的公司面试的自我介绍,一起来学习啦。 公司面试的自我介绍篇一 各位尊敬面试官早上好,

    2023年6月29日
  • 个人求职自荐信2000字(精选8篇)

    个人求职自荐信2000字要怎么写,才更标准规范?根据多年的文秘写作经验,参考优秀的个人求职自荐信2000字样本能让你事半功倍,下面分享【个人求职自荐信2000字】,供你选择借鉴。 个人求职自荐信200

    2023年9月24日
  • 领导有这三种安排,不是把你当成心腹,而是想要利用你,压榨你

    网友分享案例: 近日在论坛中看到有位新员工小李分享了自己的工作经历,小李在到外地出差的时候花费了近8000元,但是回到公司找老板报销的时候,老板拒绝报销,老板觉得小李花费的金额实在…

    职场 2021年12月10日
  • 职场中如何正确地跳槽(教你几招正确跳槽方式)

    这两天后台有很多关于跳槽的留言,我总结了一下,在这些留言中,大家最关心的一个问题就是跳槽的正确姿势。 所谓姿势不对,跳槽白费。对于想要跳槽之人来说,跳槽之前需要做好以下准备,这样才…

    职场 2021年12月10日