PHP面试
文章平均质量分 77
xubin.nic
嘿嘿大是大非
展开
-
2020 PHP 面试面经分享,历时三个月拿,最终入手字节,面试经历经验分享
这是一篇迟到的面经。为什么呢?因为我现在已经入职字节快一周了。本应该在提离职后,入职字节前的一段时间内,完成历时差不多 3 个月的面试经历。但是,emem..... 懒嘛 ……^ _ ^。写下这篇文章的目的,一方面是:整理面试知识、经验;另一方是:给同样准备找工作、跳槽的你,自己的一些经验。先自我介绍一下:本人双非、一个普通的二本本科生,大学期间很有幸加入 Topcoder 工作室,工作室有两部分:ACM 算法、项目。加入工作室后,由于对算法不怎么感兴趣,就选择去了项目组。项目组主要学习一些 We.原创 2020-11-07 16:14:36 · 3640 阅读 · 8 评论 -
day05 - PHP 实现 N 个村庄建立 M 个邮局,村庄距离邮局距离最短
思路已经理解了,但是代码部分还是有点问题,先记录到这里class Solution { /** * @param Integer[] $nums * @return Integer */ function maxSubArray($nums) { // 从第 i 个村庄到 j 个村庄建立一个邮局 // dis[i][j] = dis[i][j-1] + a[j] - a[(i+j)/2]; $size.原创 2020-10-05 10:13:27 · 576 阅读 · 0 评论 -
php 实现 2n 个无序的数,n 个奇数,n 个偶数,奇数在奇数位,偶数在偶数位--两种解法
2n 个无序的数,n 个奇数,n 个偶数,实现一个算法:奇数在奇数位,偶数在偶数位这个题,在面试的过程中,面试官提示我可以参考 链表的有环的方法,有环的判断是有两个指针,一个快 fast 指针,一个慢 slow 指针,设置步长相差一个。但是,但是,但是,我没有做出来。。。。下来后,参考了别人的解法:一个数组有2n个元素,其中有n个奇数、n个偶数,数组无序,写一个算法使得奇数位置放置奇数,偶数位置放置偶数。我自己手动实现了一下。代码入下:function revertTheNum($ar.原创 2020-08-28 20:53:31 · 452 阅读 · 0 评论 -
PHP 二叉搜索树的第 K 大
刚做这个题的时候,就一直想着怎么能不遍历整个树,而优化查询时间。最终还是没有实现这个想法。因为递归遍历二叉树,是会遍历所有的节点,无法控制。还有一点就是遍历的时候,如果用 --$k == 0 来作为取数条件的话,是有问题的,因为每次递归都重新传递 $k 值了下面这个代码 空间复杂度为 O(1),先遍历整个树后,拿到有序数组的话,时间复杂度为 O(n)。class Solution { /** * @param TreeNode $root * @param I..原创 2020-08-27 21:56:49 · 204 阅读 · 0 评论 -
php 实现链表的反转--迭代和递归
1. 递归:思路说明请看 代码注释/** * Definition for a singly-linked list. * class ListNode { * public $val = 0; * public $next = null; * function __construct($val) { $this->val = $val; } * } */class Solution { /** * @param ListNode $h原创 2020-08-17 21:22:26 · 440 阅读 · 0 评论 -
PHP 实现旋转有序数组的查找 target
先贴代码,等有时间了,再来详细整理一下思路class Solution { /** * @param Integer[] $nums * @param Integer $target * @return Integer */ function search($nums, $target) { $low = 0; $size = count($nums); if ($size == 1) {原创 2020-08-12 23:29:22 · 265 阅读 · 0 评论 -
PHP 归并排序和合并两个有序数组
思路:有时间再整理把function dividArr($arr){ $size = count($arr); // 这一步很重要,否则可能死循环 if ($size < 2) { return $arr; } $mid = floor($size / 2); $leftArr = array_slice($arr, 0, $mid); $rightArr = array_slice($arr, $mid); return merge(dividArr($left原创 2020-08-12 12:59:11 · 292 阅读 · 0 评论 -
PHP实现二叉树列遍历 从根结点到叶子结点的遍历并 求和
/** * Definition for a binary tree node. * class TreeNode { * public $val = null; * public $left = null; * public $right = null; * function __construct($value) { $this->val = $value; } * } */class Solution { /** * @pa.原创 2020-08-10 21:25:42 · 428 阅读 · 0 评论 -
PHP实现常见的设计模式--观察者模式
// 事件注册器abstract class EventGenerator{ // 观察者 private $obversor = []; public function attach(Obversor $obversor) { $this->obversor[] = $obversor; } // 事件通知 public function notify() { foreach ($this->obversor as $obversor) { $obversor原创 2020-08-09 18:09:28 · 189 阅读 · 0 评论 -
php-fpm 平滑重启原理
关于PHP平滑启动可以参考 PHP 重启 php-fpm 的几种方法信号SIGINT、SIGTERM、SIGQUIT:退出Fpm,在master收到退出信号后将向所有的 worker 进程发送退出信号,通知 worker 退出,然后 master 退出SIGUSR1: 重新加载日志文件,生产环境中通常会根据时间对日志进行切割,切割后会生成一个新的日志文件,如果进程不重新加载文件,则无法继续写入日志,这时就需要向 master 发送一个 USR1 的信号,告诉 master 重新加载日志文件。.原创 2020-08-08 10:38:22 · 815 阅读 · 0 评论 -
mkw, 360大牛全面解读PHP面试资源下载
mkw, 大牛全面解读PHP面试资源下载最近在找工作,同事说上面的这个视频挺不错的。我就搜罗搜罗罗一下。看完之后的总结:这个视频适合高级工程师以下的PHPer 学习,当然无论哪个阶段看下,都会有一些进步和学习。需要资源的可以私信我请大家保密...原创 2020-08-02 23:14:39 · 421 阅读 · 0 评论 -
排序算法和查找算法--PHP代码实现方式
由于对这些算法的概念比较抵触,很难理解痛彻。但是我对代码还是很上手的,通过看代码,我就能清晰明了的知道原理和思想。1、归并排序:下面代码可以直接运行。摘抄自:常用的排序算法(四)--归并排序(PHP实现)。其中原文中,理论部分讲解有问题。思路:分治思想。选取中间值,进行分隔。分为左边数组和右边数组。递归的调用该方法,目的在于一直分隔数组,直到当前数组只有一个元素为止。时间复杂...原创 2019-06-27 00:00:22 · 290 阅读 · 0 评论 -
2018--滴滴顺风车PHP实习生面试之二面分享总结(待更)
两次面试都是视频面的。二面面试官先让我做的自我介绍。我就从大一开始简单的介绍了下。1、下面是我的介绍: 从大一开始,我就加入了我们系的Topcoder工作室, 并进入了项目组开始学习PHP基础知识,一直持续到现在。期间在学习的同时,完成了我们工作室网站前后台的建设,然后跟学长接触了小程序商城的开发,后来改版成了现在中玉玉器微商平台包括,后台玉器上传,修改删除,分类,添加品牌,咨讯,广告等功能...原创 2018-06-15 20:47:07 · 1853 阅读 · 1 评论 -
2018 PHP滴滴-顺风车PHP研发实习生面试总结
个人感受: 面试官人挺nice的,中间不会、不理解问题都耐心帮讲解,非常感谢。前面是面试题基础知识点的东西,后面两个人聊了聊其他方面的。总体下来,由于前面的面试题好多自己都没有答对,也没有答到点上去,觉得一点自信心也没有,在好多基础方面都了解的不够,不深。不足方面: PHP面向对象【public protected private 和static abs...原创 2018-06-12 21:45:58 · 2179 阅读 · 1 评论