1. class.forname的作用?为什么要用?

1)、获取Class对象的方式:类名.class、对象.getClass()、Class.forName(“类名”);
2)、通过Class对象自审
3)、动态调用方法

2. 在oracle大数据量下的分页解决方法

页面
DB a:自身特点(limit,rownum,row_num函数) b:ResultSet
数据量少,缓存DB: { r* _2 o: B0 r. V; }9 A

3. mySQl的分页是怎么实现的?

Select * from limit 0,3

4. cookie被禁止后怎样使用session?

request.getSession().setAttribute(“aa”, “ss”);
response.sendRedirect(response.encodeURL(“”));

5. 项目开发经历了哪几个阶段

需求分析及变更管理
项目模型及业务流程分析
系统分析及建模设计
界面设计及代码开发
系统测试,部署和文档编写
维护

6. 谈谈项目的体系统架构:客户层,表示层,业务层,数据层

客户层:用来实现企业级应用系统的操作界面和客户表示,(如HTML和可以显示WEB页面的浏览器).

表示层:主要是为企业提供WEB服务,包括JSP页面和Servlet技术.

业务层:也叫应用层封装了企业所有的业务逻辑(JAVA Bean,JAVA类).

数据层:用来储存企业数据信息,(如oracle,mysql).

7. J2EE规范中的组件技术在项目中用到了哪些?

JSP,servlet.,JDBC,XML, JNDL,JAVABEAN

8. TCP/IP通讯和UDP通迅的区别?

1) TCP/IP面向连接,可靠连接,UDP面向不连接,不可靠连接
2) 建立连接经历3次握手,udp无需连接,ip和port封装在datagram数据包中,自寻址。

9. 浏览器和WEB服务器是用什么协议通迅的?

应用层使用的是 HTTP协议,传输和路由使用的是TCP/IP

10. 网络通讯中,端口有什么含义。端口的取值范围?

端口用于区分基于TCP/IP通讯的不同应用程序, 可以认为是计算机与外界交流的出口。端口取值范围>1024,系统使用的端口范围0 — 1024

11. 说出3个常见协议的默认端口。

21 ftp File Transfer [Control]      文件传输协议(控制)
80 http World Wide Web HTTP       全球信息网超文本传输协议
25 smtp Simple Mail Transfer       简单邮件发送协议

12. socket是什么,它有什么作用?

Socket是通讯的端点。是黑盒子的出入口。对于应用层来说,socket封装了底层的所有通讯细节。

13. TCP/IP通讯的基本步骤是什么?

1) 向操作系统注册:让操作系统将一个端口和服务器通讯进程绑定。这个端口就代表了这通讯进程。ServerSocket ss = new ServerSocket(port),服务端通讯进程在port端口监听。
2) Socket socket = serverSocket.accept();取出一个客户端的socket连接。如果没有客户端的连接到来,就一直等待,也就是阻塞状态
3)和服务器建立连接:Socket socket = new Socket(ip地址,port);
如果创建socket对象成功,代表连接建立。如果抛出异常,连接建 立不成功。
4)在发送方通过socket获取输出流对象,socket.getOutputStream()并执行写入操作
5)在接收放通过socket获取输入流,socket.getInputStream()并执行读取操作

14. UDP通讯的基本步骤是什么?新建一个前端学习qun438905713,在群里大多数都是零基础学习者,大家相互帮助,相互解答,并且还准备很多学习资料,欢迎零基础的小伙伴来一起交流。

创建客服端的DatagramSocket,创建时,定义客服端的监听端口
创建服务端的DatagramSocket,创建时,定义服务端的监听端口
在服务端定义DatagramPaket对象,封装待发送的数据包
服务端讲数据发送出去
客服端接收数据

15. JDBC访问数据库的基本步骤是什么(手写)?

以查询为例:
步骤一:注册并加载驱动程序
Class.forName(“oracle.jdbc.driver.OracleDriver”)
步骤二:创建连接
Connection conn = DriverManager.getConnection(url,user,password);
步骤三:创建sql语句对象
Statement st = conn.createStatement()
步骤四:提交sql语句
String sql = “select * from tablename”;
ResultSet rs = st.executeQuery(sql);
步骤五:显示结果
While(rs.next()){

}
步骤六:关闭连接
Rs.close();
St.close();
Conn.close();

16. 说说preparedStatement和Statement的区别

1) 提高效率,数据库系统只编译一次sql语句。而通过statement的sql语句每次数据库系统都会编译。
2) 防范sql注入攻击

17. 说说事务的概念,在JDBC编程中处理事务的步骤。

1):事务(Transaction)是并发控制的单位,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。
2) JDBC API中使用事务处理步骤: a. 用false作为参数调用setAutoCommit方法; b. 执行一或多个关于数据库的操作; c. 调用commit方法完成改变; d. 恢复上次提交后的改变,调用rollback()方法

18. 数据库连接池的原理。为什么要使用连接池。

数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。为了解决资源的频繁分配,释放所造成的问题,提供高效率的连接分配,实现连接的高效安全避免了数据库频繁建立,关闭的开销

19. servlet和jsp有什么关系?

1;jsp从本质上讲就是一个servlet
2;Jsp通过编译后,会生成.java 文件,它extends与HttpJspBase.

20. 编写一个servlet的步骤。
public calss MyServlet extends HttpServlet(){
public void init(){};
public void destroy(){};
public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServlerException,IOException{};
}

web.xml中配置—-
<servlet>
<serlvet-name> </>
<serlvet-calss></>
</servlet>
<serlvet-mapping>
<serlvet-name></>
<url-pattern>/x</>
</serlvet-mapping>
31.HttpservletResponse的sendError方法的作用
向客户端发送一个错误的HTTP状态码

22.什么情况下使用URL重写
当cookie被禁用后,可以通过URL重写将sessionid附加在URL后发送.
好处:
1.缩短url,隐藏实际路径提高安全性
2 易于用户记忆和键入。
3 易于被搜索引擎收录

其中详细如下
1.通过URL重写,把动态地址转换成更容易被搜索引擎收录的形式-静态页面地址,是一种对搜索引擎友好的方法。google虽然可以抓取动态页面,但是对动态页面的评分一般低于静态页面。所以,对大量信息发布的网站,把网站地址改变成静态的绝对是值得的。
2.如果网站改版或目录结构更改时,很多页面的链接可能会发生变化,许多搜索引擎已索引的页面及用户的历史收藏可能会成为死链。使用URL重写技术,则由于可以构建虚拟的网站目录和结构,可有效的防止因改版而使搜索引擎已索引的页面无法访问的问题,在信息量相同的情况下,反而会增加可索引的页面数量。如:以前可能会通过http://www.xxx.com/news/detail.asp?id=2436访问某个页面,重写后该页面的网址可能会变成 http://www.xxx.com/news/detail/2436.html(甚至可以不用扩展名),以这两种形式的网址访问的真实页面仍然是 http://www.xxx.com/news/detail.asp?id=2436。
3.使用URL重写,通过URL到URL、URL到文件名,甚至文件名到文件名的转换,为网站建立了一种新的层次清晰、紧凑简洁的目录结构,隐藏了真实的目录和文件。同时服务器可根据请求中诸如浏览器类型、源IP地址等特征来决定最终提交给客户的内容,或限制某个列表中主机对WEB服务器的访问,极大地提高了网站的安全性。
4.直接生成静态页面虽然能提高访问速度,但由于该静态页面一般是在信息发布时生成的,会出现页面上的其他信息无法更新的问题,除非以后重新生成所有内容页面(重新生成应该是很耗费资源的)。而通过URL重写技术,尽管是以静态网址发出请求,但通过正则表达式匹配后,对应的仍然是动态网页,因此不存在数据更新的问题。

23.doGet和doPost在什么时候调用?区别?

方法GET和HEAD应该被所有的通用WEB服务器支持,其他所有方法的实现是可选的。GET方法取回由Request-URI标识的信息。HEAD方法也是取回由Request-URI标识的信息,只是可以在响应时,不返回消息体。POST方法可以请求服务器接收包含在请求中的实体信息,可以用于提交表单,向新闻组、BBS、邮件群组和数据库发送消息。
get和post提交的数据量是不一样的.
get好像最多只能在url后跟2K 因为get只能发送一个byte的请求
而post则没有限制
建议用Get方法提交数据时,字节大小不要超过1300,也就是1.3KB。超过这个大小就需用POST方法了

24.response对象的作用

setContentType设置内容格式 如AJAX时response.setContentType(“text/xml;charset=gbk”)
setHeader设置响应头 response.setHeader(“Cache-Control”,”no-cache”)禁用页面缓存
sendError 发送一个错误的HTTP状态码
sendRedirect 重定向

25.jsp中import指令的作用
导入需要引用的类

26 文件上传的步骤与原理

首先<from enctepy=”multiptart/form-data” method=”post”>
表示这个表单用post提交的是 二进制文件.
这种方式提交的话,在serlvet中的request.getparamer(“”);是得不到内容的.必须用 getIntputStream()来得到字节输入流
通过字节输入流得到3部分:1,分界符.2,头(普通表单域,文件上传域).3,消息体(普通表单域的内容,文件上传域的内容).

27.ajax的步骤与原理

1,创建一个XmlHttpRequest对象.
2,调用open方法 (准备发起请求).
open(“提交方式”,”URL地址”,”是否同步(false/true)”).

3,如果是提交方式是post,就需要设置请求头.SetrequestHeard(“content-Type”,application/X-www;1;);

4,设置回调函数 XmlRequest.onredystatechang=XX;

5,在服务器端 response.setContType(“”);
response.setHeard(“”);

6,通过判断XmlHttpRequest.readystatc==4 是否会应.
XmlHttpRequest.status==200 判断状态码.

7,用XmlRequest.responseText 接受文本内容
或者是用Xmlrequest.XmlResponse接受Xml内容.

30题前端工程开发师面试题相关推荐

  1. 2020前端最新面试题总结(js、html、小程序、React、ES6、Vue、算法、全栈热门视频资源)(3年前端菜鸟级开发师含泪总结)

    2020前端最新面试题总结(js.html.小程序.React.ES6.Vue.算法.全栈热门视频资源) 文档描述 (今年确实挺难 3年前端菜鸟级开发师含泪总结 希望能帮助大家) 本文是关注微信小程序 ...

  2. 软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题1-5题)

    2017年上半年信息系统项目管理师上午试题分析与答案(试题1-5题) 1.信息系统是由计算机硬件.网络通讯设备.计算机软件,以及()组成的人机一体化系统. A.信息资源.信息用户和规章制度 B.信息资 ...

  3. 软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题46-50题)

    软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题46-50题) 46.()不属于风险管理计划编制的成果 A.风险类别 B.风险概率 C.风险影响力的定义 D.风险记录 参考答案 ...

  4. 前端开发工程师面试题2

    前端开发工程师面试题2 1.Doctype作用? 严格模式与混杂模式如何区分?它们有何意义? (1). 声明位于文档中的最前面,处于 标签之前.告知浏览器的解析器,用什么文档类型 规范来解析这个文档. ...

  5. 30个前端开发人员必备的顶级工具

    来源: 前端全栈开发者 在本文中,我为前端Web开发人员汇总了30种顶级工具,从代码编辑器和代码游乐场到CSS生成器,JS库等等. 目录 CSS代码生成器 CSS3 Generator 终极CSS G ...

  6. 软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题16-20题)...

    2017年上半年信息系统项目管理师上午试题分析与答案(试题16-20题) 16.信息系统的安全威胁分成七类,其中不包括() A.自然事件风险和人为事件风险 B.软件系统风险和软件过程风险 C.项目管理 ...

  7. 软考新思维--2017年上半年信息系统项目管理师上午试题分析与答案(试题6-10题)...

    2017年上半年信息系统项目管理师上午试题分析与答案(试题1-5题) 6.()不是获取需求的方法. A.问卷调查 B.会议讨论 C.获取原型 D.决策分析 [软考新思维] 需求是获取的得来的,不是决策 ...

  8. Web前端开发——BAT面试题汇总及答案02

    Table of Contents 目录: 二.HTML&CSS篇: 21.css 中可以让文字在垂直和水平方向上重叠的两个属性是什么? 22.px 和 em 的区别. 23.描述一个&quo ...

  9. Web前端开发——BAT面试题汇总及答案01

    目录: 目录: HTML&CSS篇: 1.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? 2.每个 HTML 文件里开头都有个很重要的东西,Doctype,知道这是干什么的吗? 3 ...

最新文章

  1. JS栈结构的简单封装
  2. mongodb中简单的聚合查询
  3. C++ Exercises(六)
  4. 前端ajax封装对象数组,后台的取法
  5. CiberCut_5.6 标牌制作
  6. 全新Wijmo5中文学习指南正式上线
  7. 2017.8.17 陌上花开 思考记录
  8. cissp认证考试指南_如何通过CISSP考试(信息安全认证)
  9. 计算机主板巨头,主板主要厂商
  10. 显卡驱动程序如何更新
  11. react 输入框 回车事件切换
  12. Data Structure - Quadratic Probing Hash Table (Java)
  13. 基于Python实现的微信好友数据分析——抓取好友性别、位置、头像签名
  14. ERP系统对接淘宝电商和线下工作人员的问题与解决方案
  15. 有一篇文章,共有三行文字,每行有80个字符。要求分别统计出其中英文大写字母,小写字母,数字,空格以及其他字符的个数
  16. SOLR7实践(二)--DIH配置及使用
  17. 键盘鼠标比厕所脏400倍当心电脑操作染疾病
  18. 人脸识别5.1.2- insightface人脸检测模型RetinaFace-Paddle
  19. java双线_[量化小实验] 双线 RSI 择时策略
  20. 虚拟机装ubuntu的沟壑历程

热门文章

  1. 培养数字化人才 护航大学生就业 千锋教研院2022年教研战略发布会隆重举行
  2. 《十二怒汉》看到一半的观后感(一些零零碎碎语句不通的感想)
  3. 农村环境保护之平时作业三
  4. RAD 10.4中SelectDirectory函数的使用方法
  5. 风口的猪(小米实习生笔试)
  6. java程序封装最小单位,持续更新中
  7. 经典日内策略——空中花园(附源码)
  8. 企业培训管理——学习平台应用功能
  9. 计算机隐藏文件夹无法显示,隐藏文件夹无法显示怎么办【图文教程】
  10. 如何在Cisco Packet Tracer中创建多个路由器虚拟局域网(方法一)