最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 20道PHP基础面试题 带你巩固一波地基(附答案)

    正文概述 转载于:掘金(阿布阿布)   2021-05-15   551

    1、什么事面向对象?主要特征是什么? 

    面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加清晰。

    主要特征:封装、继承、多态。 

    2、SESSION 与 COOKIE的区别是什么,请从协议,产生的原因与作用说明?

    http无状态协议,不能区分用户是否是从同一个网站上来的,同一个用户请求不同的页面不能看做是同一个用户。

    SESSION存储在服务器端,COOKIE保存在客户端。Session比较安全,cookie用某些手段可以修改,不安全。Session依赖于cookie进行传递。禁用cookie后,session不能正常使用。Session的缺点:保存在服务器端,每次读取都从服务器进行读取,对服务器有资源消耗。Session保存在服务器端的文件或数据库中,默认保存在文件中,文件路径由php配置文件的session.save_path指定。Session文件是公有的。 

    3、HTTP 状态中302、403、 500代码含义? 

    一二三四五原则:(即一:消息系列;二:成功系列;三:重定向系列;四:请求错误系列;五:服务器端错误系列。)

    • 302:临时转移成功,请求的内容已转移到新位置
    • 403:禁止访问 
    • 500:服务器内部错误 
    • 401:代表未授权

    4、请写出数据类型(int char varchar datetime text)的意思;请问 varchar 和 char有什么区别? 

    • Int 整数
    • char 定长字符
    • Varchar 变长字符
    • Datetime 日期时间型
    • Text 文本型

    Varchar与char的区别 char是固定长度的字符类型,分配多少空间,就占用多长空间。Varchar是可变长度的字符类型,内容有多大就占用多大的空间,能有效节省空间。由于varchar类型是可变的,所以在数据长度改变的时,服务器要进行额外的操作,所以效率比char类型低。 

    5、MyISAM和 InnoDB 的基本区别?索引结构如何实现? 

    MyISAM类型不支持事务,表锁,易产生碎片,要经常优化,读写速度较快,适合用于频繁查询的应用;

    InnoDB类型支持事务,行锁,有崩溃恢复能力,读写速度比MyISAM慢,适合于插入和更新操作比较多的应用,空间占用大,不支持全文索引等。

    创建索引:alert table tablename add index 索引名 (`字段名`) 

    6、isset() 和 empty() 区别

    isset判断变量是否存在,可以传入多个变量,若其中一个变量不存在则返回假;empty判断变量是否为空为假,只可传一个变量,如果为空为假则返回真。 

    7、请说明 PHP 中传值与传引用的区别。什么时候传值什么时候传引用?

    传值传递:函数范围内对值的任何改变在函数外部都会被忽略

    传引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改

    优缺点:传值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。传引用传递则不需要复制值,对于性能提高很有好处。 

    8、在PHP中error_reporting这个函数有什么作用?

    设置PHP的报错级别并返回当前级别。 

    9、说说你对缓存技术的了解? 

    缓存技术是将动态内容缓存到文件中,在一定时间内访问动态页面直接调用缓存文件,而不必重新访问数据库。 

    10、现在编程中经常采取MVC三层结构,请问MVC分别指哪三层,有什么优点? 

    MVC三层分别指:业务模型、视图、控制器,由控制器层调用模型处理数据,然后将数据映射到视图层进行显示

    优点是:①可以实现代码的重用性,避免产生代码冗余;②M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式 

    11、AJAX的优势是什么? 

    ajax是异步传输技术,可以通过javascript实现,也可以通过JQuery框架实现,实现局部刷新,减轻了服务器的压力,也提高了用户体验。 

    12、在程序的开发中,如何提高程序的运行效率? 

    优化SQL语句,查询语句中尽量不使用select *,用哪个字段查哪个字段;少用子查询可用表连接代替;少用模糊查询;

    数据表中创建索引;

    对程序中经常用到的数据生成缓存。 

    13、对于大流量的网站,您采用什么样的方法来解决访问量问题? 

    • 有效使用缓存,增加缓存命中率
    • 使用负载均衡
    • 对静态文件使用cdn进行存储和加速
    • 想法减少数据库的使用
    • 查看出现统计的瓶颈在哪里
    • 反向代理 

    14、语句include和require的区别是什么?为避免多次包含同一文件,可用什么语句代替它们?

    区别:在失败的时候:include产生一个warning,而require产生直接产生错误中断require在运行前载入include在运行时载入代替:require_onceinclude_once 

    15、foo()和@foo()之间有什么区别? 

    @代表所有warning忽略 

    16、简述php的垃圾收集机制。

    php中的变量存储在变量容器zval中,zval中除了存储变量类型和值外,还有is_ref和refcount字段。refcount表示指向变量的元素个数,is_ref表示变量是否有别名。如果refcount为0时,就回收该变量容器。如果一个zval的refcount减1之后大于0,它就会进入垃圾缓冲区。当缓冲区达到最大值后,回收算法会循环遍历zval,判断其是否为垃圾,并进行释放处理。 

    17、如何实现PHP的安全最大化?

    怎样避免SQL注入漏洞和XSS跨站脚本攻击漏洞? 答:基本原则:不对外界展示服务器或程序设计细节(屏蔽错误),不相信任何用户提交的数据(过滤用户提交)。 

    18、echo、print_r、print、var_dump区别 

    • echo:语句结构;
    • print:是函数,有返回值
    • print_r:能打印数组,对象
    • var_dump:能打印对象数组,并且带数据类型 

    19、写出smarty模板的特点 

    速度快,编译型,缓存技术,插件机制,强大的表现逻辑 

    20、如果需要原样输出用户输入的内容,在数据入库前,要用哪个函数处理? 

    htmlspecialchars或者htmlentities 

    点关注,不迷路 

    好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是人才。之前说过,PHP方面的技术点很多,也是因为太多了,实在是写不过来,写过来了大家也不会看的太多,所以我这里把它整理成了PDF和文档,如果有需要的可以点这里shimo.im/docs/Jky8td… 《进阶PHP月薪30k>>>架构师成长路线【视频、面试文档免费获取】》20道PHP基础面试题 带你巩固一波地基(附答案)

    20道PHP基础面试题 带你巩固一波地基(附答案)


    起源地下载网 » 20道PHP基础面试题 带你巩固一波地基(附答案)

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元