《2024年php高级工程师面试题及答案_php高级面试题及答案.docx》由会员分享,可在线阅读,更多相关《2024年php高级工程师面试题及答案_php高级面试题及答案.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2024年php高级工程师面试题及答案_php高级面试题及答案 php高级工程师面试题及答案_php高级面试题及答案 PHP高级工程师在求职面试中,我们应当学会做好面试打算,了解面试题及答案很有必要。下面我已经为你们整理了php高级工程师面试题及答案,一起来看看吧。 php高级工程师面试题及答案一 1、 java 中有几种类型的流?JDK 为每种类型的流供应了一些抽象类以供继承,请说出他们分别是哪些类? 字节流,字符流。字节流继承于InputStreamOutputStream,字符流继承于InputStreamReader OutputStreamWriter。在java.io包中还有很多其
2、他的流,主要是为了提高性能和运用便利。 2、多线程有几种实现方法?同步有几种实现方法? 多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方面有两种,分别是synchronized,wait与notify wait():使一个线程处于等待状态,并且释放所持有的对象的lock。 sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕获 InterruptedException(中断异样)异样。 notify():唤醒一个处于等待状态的线程,留意的是在调用此方法的时候,并不能准确的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而
3、且不是按优先级。Allnotity():唤醒全部处入等待状态的线程,留意并不是给全部唤醒线程一个对象的锁,而是让它们竞争。 php高级工程师面试题及答案二 1、说一说 Servlet 的生命周期? 答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理恳求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。 Servlet被服务器实例化后,容器运行其init方法,恳求到达时运行其service方法,service 方法自动派遣运行与恳求对应的doXXX方法(doGet,doPost)等,当服务器确定将实例销
4、毁的时候调用其destroy方法。 web容器加载servlet,生命周期起先。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,依据恳求的不同调用不同的do*()方法。结束服务,web容器调用servlet的destroy()方法。 2、说出数据连接池的工作机制是什么? J2EE服务器启动时会建立肯定数量的池连接,并始终维持不少于此数目的池连接。客户端程序须要连接时,池驱动程序会返回一个未运用的池连接并将其表记为忙。假如当前没有空闲连接,池驱动程序就新建肯定数量的连接,新建连接的数量有配置参数确定。当运用的池连接调用完成后,池驱动程序将此
5、连接表记为空闲,其他调用就可以运用这个连接。 实现方式,返回的Connection是原始Connection的代理,代理Connection的close方法不是真正关连接,而是把它代理的Connection对象还回到连接池中。 3、这段代码有什么不足之处? try Connection conn =.; Statementstmt=.; ResultSetrs =stmt.executeQuery(select*fromtable1); while(rs.next() catch(Exception ex) 答:没有finally语句来关闭各个对象,另外,运用finally之后,要把变量的定义
6、放在try语句块的外面,以便在try语句块之外的finally块中仍可以访问这些变量。 4、一个用户具有多个角色,请查询出该表中具有该用户的全部角色的其他用户。 selectcount(*)asnum,tb.idfro m tb, (selectrolefromtbwhereid=xxx)as t1 where tb.role =t1.role andtb.id!=t1.id group bytb.id having num=selectcount(role)fromtbwhere id=xxx; 5、一个用户表中有一个积分字段,假如数据库中有 100 多万个用户,若要在每年第一天凌晨将积分清
7、零,你将考虑什么,你将想什么方法解决? altertable drop column score; php高级工程师面试题及答案三 1、描述一下 JVM 加载 class 文件的原理机制? JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader是一个重要的 Java运行时系统组件。它负责在运行时查找和装入类文件的类。 2、heap和stack有什么区分。 java的内存分为两类,一类是栈内存,一类是堆内存。栈内存是指程序进入一个方法时,会为这个方法单独安排一块私属存储空间,用于存储这个方法内部的局部变量,当这个方法结束时,安排给这个方法的栈会释放,这个栈
8、中的变量也将随之释放。 堆是与栈作用不同的内存,一般用于存放不放在当前方法栈中的那些数据,例如,运用new 创建的对象都放在堆里,所以,它不会随方法的结束而消逝。方法中的局部变量运用final 修饰后,放在堆中,而不是栈中。 3、GC 是什么?为什么要有 GC? GC是垃圾收集的意思(GabageCollection),内存处理是编程人员简单出现问题的地方,遗忘或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java供应的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有供应释放已安排内存的显示操作方法。 4、列举出一些常用的类,包,接口,请各举 5 个 要
9、让人家感觉你对java ee开发很熟,所以,不能仅仅只列core java中的那些东西,要多列你在做ssh项目中涉及的那些东西。就写你最近写的那些程序中涉及的那些类。 常用的类:BufferedReaderBufferedWriter Class,List,HashMap 常用的包:java.lang java.io FileReaderFileWirterStringIntegerjava.util.Date,System, java.utiljava.sql,javax.servlet,org.apache.strtuts.action,org.hi bernate常用的接口:RemoteListMap Document NodeList,Servlet,HttpServletRequest,HttpServletResponse,Transaction(Hibernate)、 Session(Hibernate),HttpSession 看了php高级工程师面试题及答案