php面试常见问题

1. 你为什么选择PHP?

       第一、和其他语言相比, 相对学习容易,入门快, 学习周期短。

       第二、企业意识到PHP的开发成本低,使用PHP开发的项目越来越多, 所以用人企业越来越多,很少有大学开这门课,就业机会也就很大。

       第三、PHP开发速度快,可用的二次开发产品多, 能快速实现业务流程。

       第四、我喜欢互联网, 互联网现在主流开发语言都使用PHP

 

 2. 说说对PHP技术发展的看法?

       第一、语言本身的发展上,PHP从5版本之后将面向过程转变到面向对象思想方面,做出过一次重大的改变, PHP以后的技术方展,除了在基本语法上保持开发高效之外,需要将部分模块不段升级和优化。 也要从运行效率上有大的提高,以及多提供一些针对不同企业扩展的第三方类库进行丰富。

 

       第二、PHP语言上的应用发展,PHP最大特点就是语法灵活,开发速度快, 开发成本低,最适合开发业务流程,所以互联中使用PHP开发动态网站将成为主流。

      

3. 你对PHP程序员这个职位的认识?

    一、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对 小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。

   二、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。

  三、参与需求调研、项目可行性分析、技术可行性分析和需求分析。

  四、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。

  五、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。

  六、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。

  七、负责相关技术文档的拟订。

  八、负责对业务领域内的技术发展动态。

 

4. 说说对互联网行业发展的看法?

 

   中国已经成为国际互联网的一部分,并且将会成为最大的互联网用户群体。但是也有一些问题,比如发展过于迅猛导致的客户体验好评不足,小型的互联网企业缺失竞争力,还有模仿外国网站的现象,这都能说明我国互联网的道路还有很多待改进的地方。

       1.互联网全球普及

       2.互联网将成为物联网

       3.互联网将成为无线网络, 移动互联或变为主流

       4.社交网络的巅峰

       5.互联网变得越来越轻, 意味着轻量、轻松、轻快、轻简、傻瓜化、碎片化,主要有四个方面。

       6.大数据时代

       7.云计算大行其道

 

 5.  说说PHP、Java的不同之处?        

       开发速度: PHP 要快 Java 3.5倍以上

       运行速度: PHP 要慢 Java 尽20倍

       软件成本: PHP 低于 Java 三分之一左右

       开发范围: PHP 的特长是在Web方面, 而Java有多个版本 SE EE ME几呼可以开发所有领域, 也可以在android上开发

      

 6. 说说Laravel和ThinkPHP的区别?

      

       TP框架:

ThinkPHP简单、快速,基于MVC和面向对象,易用性较高,是一款简洁实用的轻量级框架。

Laravel框架:

Lavavel一直秉承着优雅的原则,很好的支持了composer,实现了更丰富的扩展,社区文档活跃,相较于TP,Lavavel更庞大,安全性也更高,更适合开发大中型项目,被称为“巨匠型开发框架”。

TP框架和Laravel框架的区别:

1、提交数据的方式

Laravel在提交表单时需要在表单中加入{csrf_field}来防止跨域攻击,而TP不会。

2、路由

Laravel必须先定义,再使用,路由文件为routes.php;TP在配置文件中开启路由后,路由格式是:'路由表达式' => '路由地址和参数'(使用路由的前提是URL支持phthinfo并且开启路由),路由可以使URL更符合SEO。

3、渲染模版方式
在Laravel框架里,使用return view()来渲染模版;而ThinkPHP里则使用了$this->display()的方式渲染模版。

4、操作数据库方式

都可以使用实例化(建立相对应的模型类)和DB:table('表名')来操作数据库,使用原生查询时不太相同,Laravel使用Db::操作('原生sql'),TP使用Db::query('原生sql')。

5、条件判断语句书写方式

Laravel框架里 if else判断语句和foreach语句 书写时必须以@if开头 以@endif结尾,如果没有则报语法错误,@foreach @endforeach同理。

而TP框架则和PHP语法规则使用方式一致直接ifesle语句判断和foreach循环遍历

6、中间件,Laravel特点,可以实现访问前后的处理,例如请求和返回,权限认证等;

7、Laravel升级十分简易,而TP大版本的升级要重构代码。

      

 

 7. 你对Smarty模板的认识?

       虽然PHP语言本身就可以嵌入到HTML页面中去进行数据展现,但是这样做我们不仅需要书写大量的<?php ?>标签,而且在某些地方还需要嵌入大量的冗余代码,另外也不利于逻辑的解耦和分离。所以,在项目中我们还是需要一个专门的模板引擎,而Smarty就是PHP语言在这个领域的不二选择了。

       1. 可以将视图和逻辑分开

       2. 可以将美工和程序员分开

       3. 可以是一个逻辑多种表现(为一个程序写多个模板)

       4. 改模板或改逻辑可以互不影响

      

8. 对数据库的认识和理解?

       数据库是用来存放数据的,你可以通过SQL查询语言对数据库中的数据进行筛选和处理, 是一套独立的数据管理系统。

       1. 使用PHP开发动态网站,离不开数据库, PHP作为客户端通过执行SQL语句来完成对数据库中的数据操作。

       2. 程序员学习数据库,主要包括设计库,设计表,创建表语句, 对表内容的操作, SQL语句的优化, 大数量(分库分表分区,主从等)

      

 9.说说你对你的项目的认识?

       1. 从项目的业务分析上

       2. 从项目的规模上

       3. 从项目的人员合作上

       4. 从项目的市场应用及创意上

       5. 从项目用到的技术、及开发流程上

       6. 从项目重要模块的心得及优势上

      

       通过以上几点说说对自已项目的认识。

      

 

10.你做的项目的优势在哪里?

 

       1. 项目分析设计及流程清晰度上。

       2. 部分模板的考虑问题全面性上

       3. 项目界面及业务流上

       4. 使用最新技术上

       5. 解决大型WEB的问题上

 

       通过以上几点说说对自己项目的优势。

 

11.你的项目的核心是什么?

       1. 从完成业务核心去介绍(例如,商城的购物流程,OA的某个部门的重要办工流程,从几个模块上去介绍)

       2. 从使用的技术上(使用框架、模板、大WEB的负载均衡上等)

       3. 从数据库的设计和关联上

 

12.怎样介绍项目能够即吸引人又能表述清楚核心技术?

        在从操作界面上, 再从业务流程上, 到使用的技术, 再到效率,安全等方面去介绍

 

13.你做项目的过程中遇到什么问题了吗?怎么解决的?

 

       业务流程不明确(解决:明确需求分析)

       用到一些没有接触过的技术(过学边用)

 

       别说太多, 尽量别暴露自己太多的弱项

 

14.常用开源软件都有那些?说说你对常用开源软件的认识?

       从几大类介绍(CMS, BBS, SHOP, OA, CRM等)分别介绍,或挑一个你认为最熟悉的介绍。

 

 

       一. 说说使用开源软件优点(快速完成项目)

       二. 二次开发上注重以下一些问题:

      

       1.  这个产品在行为中的应用(到官方找一些素材)

       2.  这个产品的优点和不足

       3.  安装开始学起

       4.  玩明白开源产品的业务

       5.  整理后台提供了那些模块功能

       6. 前台又有那些功能

       7. 总结模块(一共有多个模块, 都是那些模块)

       8. 介绍一下整个网站的目录结构 (这样设计的好处)

       9. 找三到5个模块(一个一个介绍, 功能上介绍, 前后台所在的文件都有那些), 以及数据库是什么样的。

       10. 可以加一到两个模块。  (后台平台的页面结构, 后台怎么加上, 前台怎么加上, 数据库又如何关联, 命名规范)

       11. 会删除一些模块(用不到怎么关掉)

       12. 会改一些模块 (在一个模块上 修改)

       14. 会改主要模块中的部分显示(图,样式, 大小之类) , 要知道 , 前台有多少个模板, 每个模块中都使用那些,后分过来的变量

       13. 会为整个重新设计一套模板

 

 

       重点的几点:

              1. 模板的熟练使用

              2. 程序基本结构

              3. 数据库的设计结构

      

posted @   沫栀  阅读(265)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示