您的位置 首页 php

学会这些,就算不精通PHP,一样搞定面试和笔试

作为世界上最好的语言,PHP使用的广泛性不用多说。现在越来越多的互联网公司都在使用PHP, 所以今天就来聊一聊在PHP的面试和笔试中经常会问的一些题目。

另之前写的面试相关的文章也一并推荐给大家,希望能有所帮助,助大家都找到好工作。

程序员如何快速准备BAT面试中的算法

搞定面试算法第三弹——动态规划

搞定BAT面试中的算法,先记住这些链表相关的题目(上)

函数内部 static 和 global 关键字的作用

static 是静态变量,在局部函数中存在且只初始化一次,使用过后再次使用会使用上次执行的结果; 作为计数,程序内部缓存,单例模式中都有用到。

global 关键字,引用 全局变量 ,wordpress中大量用到,如面向过程开发。

static 静态方法 ,是类的成员方法,但不需要实例化类可直接使用

$GLOBAL 在函数内使用具有全局 作用域 的变量,如$GLOBAL[‘a’]

子类重写父类的 protected 方法有什么限制?或者说有什么要遵守的规则?

用例子说明,以 Laravel 框架中的控制器作为说明

①final修饰的类方法不可被子类重写

②PHP是否重写父类方法只会根据方法名是否一致判断(5.3以后重写父类方法参数个数必须一致)

③重写时访问级别只可以等于或者宽松于父类 不可提升访问级别

PHP文件末尾是否应该加 ?> 结束符号,为什么?

主要防止 include,require 引用文件,把文件末尾可能的回车和空格等字符引用进来,还有一些函数必须在没有任何输出之前调用,就会造成不是期望的结果。PHP文件的编码不包含BOM的UTF8. 这也是PSR-2中的规范:纯PHP代码文件必须省略最后的 ?> 结束标签。

谈一谈 PHP 开源框架 CI,ThinkPHP,Laravel 的优缺点及选型依据

CI非常轻量级,是一个简单的MVC框架,性能也很快。

ThinkPHP3.2国内使用比较多,优点是文档非常多,各种问题解决方案比较多,缺点是代码不够规范,理念落后。

Laravel 是一个现代化的PHP开发框架,代码优雅,使用 composer 方式扩展功能,社区活跃,缺点是比较重,比较适合做后台管理或者应用型WEB系统。

Memcache 和 Redis 的读写性能(qps)如何?两者优缺点?Redis 支持哪些数据类型?Redis 如何 持久化

读写性能:

memcache更加快速,在读取性能上比 Redis 快,缺点是仅支持 字符串

Redis支持丰富的数据结构类型,字符串,散列(哈希),集合,有序集合,还支持订阅发布,地理位置等等。

实际运用中可以redis,memcache结合,memcache可作为 session 存储的方式,session都是KV类型键值对。

Redis 提供了多种不同级别的持久化方式:

RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。

AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis 还可以在后台对 AOF 文件进行重写(rewrite),使得 AOF 文件的体积不会超出保存数据集状态所需的实际大小。

Redis 还可以同时使用 AOF 持久化和 RDB 持久化。 在这种情况下, 当 Redis 重启时, 它会优先使用 AOF 文件来还原数据集, 因为 AOF 文件保存的数据集通常比 RDB 文件所保存的数据集更完整。

你甚至可以关闭持久化功能,让数据只在服务器运行时存在。

使用 PHP 下载网络图片,有哪些方法?

1.file_get_contents

2.readfile读取内容

3.fopen系列函数

4.curl

什么是 CGI ?什么是 FastCGI? php-fpm ,FastCGI, Nginx 之间是什么关系?

CGI,通用网关接口,用于 WEB服务器 和应用程序间的交互,定义输入输出规范,用户的请求通过WEB服务器转发给FastCGI进程,FastCGI进程再调用应用程序进行处理,如php解析器,应用程序的处理结果如html返回给FastCGI,FastCGI返回给Nginx 进行输出。假设这里WEB服务器是Nginx,应用程序是 PHP,而 php-fpm 是管理 FastCGI 的,这也就是 php-fpm,FastCGI,和 Nginx 之间的关系。

FastCGI 用来提高 cgi 程序性能,启动一个master,再启动多个 worker,不需要每次解析 php.ini. 而 php-fpm 实现了 FastCGI 协议,是 FastCGI 的进程管理器,支持平滑重启,可以启动的时候预先生成多个进程。


欢迎大家关注我,这里会不定期分享程序员工作日常,前沿技术动态,找工作面试技巧等,还有下方公众号,里面有更多机器学习,大数据相关的内容,入门或深入学习都合适,名称是狂奔的豆沙包。

文章来源:智云一二三科技

文章标题:学会这些,就算不精通PHP,一样搞定面试和笔试

文章地址:https://www.zhihuclub.com/77139.shtml

关于作者: 智云科技

热门文章

网站地图