php面试需要掌握的基础题目锦集

1.session与cookie的区别?

答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放

cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。

两者都可通过时间来设置时间长短

2.如何修改SESSION的生存时间

答:方法1:将php.ini中的session.gc_maxlifetime设置为9999重启apache

方法2:$savePath = "./session_save_dir/";

$lifeTime = 小时 * 秒;

session_save_path($savePath);

session_set_cookie_params($lifeTime);

session_start();

方法3:setcookie() and session_set_cookie_params($lifeTime);

3.PHP是什么?

答:PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页

4.语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们? (2分)

答:require->require是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require

include->include有返回值,而require没有(可能因为如此require的速度比include快)

注意:包含文件不存在或者语法错误的时候require是致命的,include不是

5.谈谈asp,php,jsp的优缺点

答:ASP全名Active Server Pages,是一个WEB服务器端的开发环境, 利用它可以产生和运

答:行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VB Script(Java script

)作为自己的开发语言。

   PHP是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用C,Java和Perl语言的语法

, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝大多数数

据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(http://www.php.ne

t)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。

   JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--

脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Jav

a 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Js

p--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点

程序。

   三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。

但JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的

第一次请求时发生。在 ASP 、PHP、JSP 环境下, HTML 代码主要负责描述信息的显示样式

,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PH

P、JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到

HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP三者都是面向 Web 服务器的技术

,客户端浏览器不需要任何附加的软件支持。

5.谈谈对mvc的理解,并列举常用的框架?

答:MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

视图是用户看到并与之交互的界面。

模型表示企业数据和业务规则。

控制器接受用户的输入并调用模型和视图去完成用户的需求。

MVC的优点:低耦合性、高重用性和可适用性、较低的生命周期成本、快速的部署、可维护性、可扩展性,有利于软件工程化管理

MVC的缺点:没有明确的定义,完全理解MVC并不容易。不适合小型规模的应用程序。

Smarty,zend framework,thinkphp,PHPlib Template

6.php如何抛出异常?

答:使用try...catch,异常的代码放在try代码块内,如果没有触发异常,则代码继续执行,如果异常被触发,就会抛出一个异常。

Catch代码块捕获异常,并创建一个包含异常信息的对象。$e->getMessage(),输出异常的错误信息。

7.谈谈php中传值和引用的区别?

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

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

优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。

按引用传递则不需要复制值,对于性能提高很有好处。

8,php中include与require的区别?

答:一、PHP在遇到include时就必须重新解释一次,如果在同一个页面出现10次include,它便会重新解释10次。PHP遇到require时,不管在同一个php网页中出现几
次require,PHP只会解释一次而已。

二、Require执行效率比include高。

三、Require包含进来的内容被当成当前文件的一个组成部分,所以当包含进来的文件有语法错误或者文件不存在的时候,那个PHP脚本都不再执行。Include函数相当
于指定这个文件的路径,当被包含的文件有错时不会影响到本身的程序执行。

四、Include可以进行判断是否包含,而require则是不管任何情况都包含进来

9.表单中 get与post提交方法的区别?

答:get是发送请求HTTP协议通过url参数传递进行接收,

post是实体数据,可以通过表单提交大量信息.

12.echo(),print(),print_r()的区别(3分)

答:echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)

print()    只能打印出简单类型变量的值(如int,string)

print_r() 可以打印出复杂类型变量的值(如数组,对象)

echo     输出一个或者多个字符串

11.数据库中的事务是什么?

答:事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,

事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。

12.服务器apache两种工作模式及区别

答:1.prefork.c模块(一个非线程型的、预派生的MPM)

prefork MPM 使用多个子进程,每个子进程只有一个线程。每个进程在某个确定的时间只能维持一个连接。在大多数平台上,Prefork MPM在效率上要比Worker MPM
要高,但是内存使用大得多。

2. worker.c模块(支持混合的多线程多进程的多路处理模块)

worker MPM 使用多个子进程,每个子进程有多个线程。

php面试需要掌握的基础题目锦集

时间: 2024-10-18 13:42:12

php面试需要掌握的基础题目锦集的相关文章

【面试宝典】 spring基础面试必问

前言: 2018,2019年这两年,互联网行业都不怎么景气,我想最近大家对于某某公司劝退员工的事,都有所耳闻,再加上19年快结束了,又有不少人得提前回家过年(自己领悟我这句话的意思,懂的自然懂) 有人私信我,问我有没有相关面试方面的文章,所以,把spring基础2019年面试可能问到的题目整理了一下.我遇到不少社友在问,为什么,在我朋友圈里面,很多技术跟我差不多的,工资有不少都比我高,运气算一个因素,还有一个因素就是面试.给大家分享一个真实的案例把,这样大家才能更清楚的明白面试的重要性. 一个真

hdu 1874 畅通工程续 dijsktra(基础题目)

又是一道最短路基础题目,注意两点就可以了: 1.输入的时候可能会两点之间有多条路,选最短的存起来. 2.判断有没有路径存在,可以判断一下终点到起点的距离是否小于原来初始化的最大值,如果是就输出结果,否则输出-1 代码: #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<vector> #inc

面试小结(java基础)

一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?带着这个疑惑,动手建几个测试类, 揭开心中的疑惑.以下是解开疑惑过程: package test;/** * 一个.java源文件中可以有多个类吗?(内部类除外)有什么条件?  * 可以的    *但是只能有一个public类, 而且如果有public类的话,这个文件的名字要和这个类的名字一样. *如果都没有public类,名字可以不和这个类一样. */public class MultiClass { int i = 0;} cl

java基础题目总结

有些基础题目由于工作中用的比较少但却又是不可少的,这样回答起来就会反应慢,不确定,不准确,特此开了文章记录遇到的不确定或者回答比较拗口的问题. 1.servlet是单例的吗,是安全的吗,是多线程吗 servlet是单例的,根据web.xml实例化一次后,其他访问通过多线程的方式调用servlet实例. 因此,关于多线程访问共享变量的安全性问题已经是老生常谈了.这里只要知道servlet是单例的,其他问题也就解决了.servlet的实现方式决定了安全性.成员变量是否是静态的,是否上锁?关于调用成员

数论基础题目八题【欧几里得】【筛法素数】【中国剩余定理】

之前看的数论的知识,现在做几道题目找找感觉..... poj 1061 传送门 题目大意,给你x,y,m,n,L.代表青蛙a的坐标x,青蛙b的坐标y,青蛙a一次跳的距离m,青蛙b一次跳的距离n,以及mod的值L,求经过多少次跳相遇.即求:(m-n)*x0=(x-y)(mod L);  模线性方程的解,不过要注意处理,因为(m-n)和(x-y)有可能是负的,如果(m-n)是负的,则直接对俩数取负数,下面就是对 ((x-y)+L)%L. 然后就能用modular_linear_equation(LL

网络基础题目

网络基础题目 描述: 一个大公司有一个总部和三个下属部门.公司分配到的网络前缀是 210.38.160/24 .公司的网络布局如下图所示.总部共有五个局域网,其中的 LAN1-LAN4 都连接到路由器R1上,R1再通过LAN5与路由器R5相连.R5和远地的三个部门的局域网 LAN6-LAN8 通过广域网相连.每一个局域网旁边标明的数字是局域网上的主机数.LAN5只是用来互联路由器 R1 和 R2 .试给每一个局域网分配一个合适的子网,要求写出每一个子网分配的网络地址.子网掩码和IP地址的范围.

PTA|团体程序设计天梯赛-练习题目题解锦集(C/C++)(持续更新中……)

PTA|团体程序设计天梯赛-练习题目题解锦集(持续更新中) 实现语言:C/C++:      欢迎各位看官交流讨论.指导题解错误:或者分享更快的方法!! 题目链接:https://pintia.cn/problem-sets/994805046380707840/problems 目录 (点击对应题目即可进入相应题解--小声BB--) L1-001 Hello World (5 分) L1-002 打印沙漏 (20 分) L1-003 个位数统计 (15 分) L1-004 计算摄氏温度 (5

关于Java面试知识点解析——JVM基础篇

跳槽时时刻刻都在发生,但是我建议大家跳槽之前,先想清楚为什么要跳槽.切不可跟风,看到同事一个个都走了,自己也盲目的开始面试起来(期间也没有准备充分),到底是因为技术原因(影响自己的发展,偏移自己规划的轨迹),还是钱给少了,不受重视. 准备不充分的面试,完全是浪费时间,更是对自己的不负责(如果title很高,当我没说).今天给大家分享下 Java面试知识点解析--JVM基础篇 1)Java 是如何实现跨平台的? 注意:跨平台的是 Java 程序,而不是 JVM.JVM 是用 C/C++ 开发的,是

hdu 1829 A Bug&#39;s Life (基础并查集)

题目: 链接:点击打开链接 题意: 给定虫子的交配关系,确定实验是否支持教授的假设即没有同性恋或者不符合假设. 思路: 是一道基础的并查集题目.存在两个集合异性和同性,给出多组关系,看这两个集合有木有联系,即是否有同性恋. 定义一个数组sex[],sex[i]表示与编号i的性别相反的虫子编号.然后将和i虫子有联系的合并为同一个集合(认为是同性的).如果findset(u) == findset(v),出现了反常行为. 代码: #include <iostream> #include <c