Java JS Web 开发面试及答案--2014.7.22
2014-07-22 23:07
246 查看
JS:
how to implement "inherited" in JS?
what is the "closure" in JS, and what is the intention for this ?
CSS:
Just mentioned it, don't have question on this.
Project:
where is the servlet been initiated?
Servlet的生命周期是由servlet的容器来控制的。分为3个阶段:初始化阶段、运行阶段、销毁阶段。
Ø Servlet容器加载servlet类,把它的. Class文件中的数据读到内存中。
Ø Servlet容器创建servletConfig对象。servletConfig对象包含了servlet的初始化配置信息。此外servlet容器还会使得servletConfig对象与当前的web应用的servletContext对象关联。
Ø Servlet容器创建servlet对象。
Ø Servlet容器调用servlet对象的init(ServletConfig config)方法。
通过初始化步骤,创建了servlet对象和servletConfig对象,并且servlet对象与servletConfig对象关联,而servletConfig对象又与当前对象的servletContext对象关联。当servlet容器完成servlet后,servlet对象只要通过getServletContext()方法就能得到web应用的servletContext对象。
(1)当web应用处于运行阶段时,特定的servlet被客户端首次请求访问。
(2)在web.xml文件中为servlet设置了<load-on-startup>元素
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>servlet.servlet1</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
说明:
在servlet的配置当中,<load-on-startup>5</load-on-startup>的含义是:
标记容器是否在启动的时候就加载这个servlet。
当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;
当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载。
正数的值越小,启动该servlet的优先级越高。
(3) 当web应用被重新启动时,web应用中的所有servlet会在特定的时间被重新初始化。
在这个阶段sevlet可以随时响应客户端的请求。当servlet容器接到访问特定的servlet请求时,servlet容器会创建针对与这个请求的servletRequest和servletResponse对象,然后调用service()方法,并把这两个对象当做参数传递给service()方法。Service()方法通过servletRequest对象获得请求信息,并处理该请求,再通过servletResponse对象生成响应结果。
【不管是post还是get方法提交,都会在service中处理,然后,由service来交由相应的doPost或doGet方法处理,如果你重写了service方法,就不会再处理doPost或doGet了,如果重写sevice()方法,可以自己转向doPost()或doGet()方法】
注:当servlet容器把servlet生成的响应结果发送给客户后,servlet容器会销毁servletRequest和sevletResponse对象。
当Web应用被终止时,servlet容器会先调用web应用中所有的servlet对象的destroy()方法,然后在销毁servlet对象。此外容器还会销毁与servlet对象关联的servletConfig对象。
在destroy()方法的实现中,可以释放servlet所占用的资源。如关闭文件输入输出流,关闭与数据库的连接。
注:sevlet的生命周期中,servlet的初始化和销毁只会发生一次,因此init()和destroy()方法只能被servlet容器调用一次,儿service()方法取决与servlet被客户端访问的次数。
write the SingleTon which is used in your project. how to keep thread safe in this singleTon?
if there is a variable which is defined by "Private" , and there is a public funtion use this variable, how to keep it thread safe in your singleTon?
Java Knowledge:
What is the difference between ArrayList and LinkList? how to implement Arraylist /LinkList inside? 【计算复杂度】when insert 1 element into ArrayList
What is the HashMap ? what is inside of HashMap? Is that ordered or disordered ?
What is the HashSet? What is inside of HashSet? Is that ordered or disordered?
please give your solution on how to sort List<person> ? class person{this.age=age; this.name = name}
【write the Bubble sort and explain the principle 】
1.How to sort objects in List?
please see my code as below:
DataBase:
if there are there query conditions , e.g. select * from xxx where a=A and b=B and c=C , how to create index for these three columns to optimize the performance?
how to implement "inherited" in JS?
what is the "closure" in JS, and what is the intention for this ?
CSS:
Just mentioned it, don't have question on this.
Project:
where is the servlet been initiated?
Servlet的生命周期是由servlet的容器来控制的。分为3个阶段:初始化阶段、运行阶段、销毁阶段。
初始化阶段:
初始化阶段步骤:
Ø Servlet容器加载servlet类,把它的. Class文件中的数据读到内存中。Ø Servlet容器创建servletConfig对象。servletConfig对象包含了servlet的初始化配置信息。此外servlet容器还会使得servletConfig对象与当前的web应用的servletContext对象关联。
Ø Servlet容器创建servlet对象。
Ø Servlet容器调用servlet对象的init(ServletConfig config)方法。
通过初始化步骤,创建了servlet对象和servletConfig对象,并且servlet对象与servletConfig对象关联,而servletConfig对象又与当前对象的servletContext对象关联。当servlet容器完成servlet后,servlet对象只要通过getServletContext()方法就能得到web应用的servletContext对象。
注:servlet初始化的情况:
(1)当web应用处于运行阶段时,特定的servlet被客户端首次请求访问。(2)在web.xml文件中为servlet设置了<load-on-startup>元素
<servlet>
<servlet-name>servlet1</servlet-name>
<servlet-class>servlet.servlet1</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
说明:
在servlet的配置当中,<load-on-startup>5</load-on-startup>的含义是:
标记容器是否在启动的时候就加载这个servlet。
当值为0或者大于0时,表示容器在应用启动时就加载这个servlet;
当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载。
正数的值越小,启动该servlet的优先级越高。
(3) 当web应用被重新启动时,web应用中的所有servlet会在特定的时间被重新初始化。
运行阶段
在这个阶段sevlet可以随时响应客户端的请求。当servlet容器接到访问特定的servlet请求时,servlet容器会创建针对与这个请求的servletRequest和servletResponse对象,然后调用service()方法,并把这两个对象当做参数传递给service()方法。Service()方法通过servletRequest对象获得请求信息,并处理该请求,再通过servletResponse对象生成响应结果。【不管是post还是get方法提交,都会在service中处理,然后,由service来交由相应的doPost或doGet方法处理,如果你重写了service方法,就不会再处理doPost或doGet了,如果重写sevice()方法,可以自己转向doPost()或doGet()方法】
注:当servlet容器把servlet生成的响应结果发送给客户后,servlet容器会销毁servletRequest和sevletResponse对象。
销毁阶段
当Web应用被终止时,servlet容器会先调用web应用中所有的servlet对象的destroy()方法,然后在销毁servlet对象。此外容器还会销毁与servlet对象关联的servletConfig对象。在destroy()方法的实现中,可以释放servlet所占用的资源。如关闭文件输入输出流,关闭与数据库的连接。
注:sevlet的生命周期中,servlet的初始化和销毁只会发生一次,因此init()和destroy()方法只能被servlet容器调用一次,儿service()方法取决与servlet被客户端访问的次数。
write the SingleTon which is used in your project. how to keep thread safe in this singleTon?
if there is a variable which is defined by "Private" , and there is a public funtion use this variable, how to keep it thread safe in your singleTon?
Java Knowledge:
What is the difference between ArrayList and LinkList? how to implement Arraylist /LinkList inside? 【计算复杂度】when insert 1 element into ArrayList
What is the HashMap ? what is inside of HashMap? Is that ordered or disordered ?
What is the HashSet? What is inside of HashSet? Is that ordered or disordered?
please give your solution on how to sort List<person> ? class person{this.age=age; this.name = name}
【write the Bubble sort and explain the principle 】
1.How to sort objects in List?
please see my code as below:
public static void main(String[] args) { // TODO Auto-generated method stub List list = new ArrayList(); Person person1 = new Person(); person1.setAge(10); person1.setName("Lucy"); Person person2 = new Person(); person2.setAge aaef (20); person2.setName("Lily"); Person person3 = new Person(); person3.setAge(8); person3.setName("Lilei"); list.add(person1); list.add(person2); list.add(person3); for (int i=0;i<list.size();i++){ Person p_temp=(Person)list.get(i); System.out.println(p_temp.getAge()+","+p_temp.getName()); } ComparatorPerson cp = new ComparatorPerson(); Collections.sort(list,cp); for (int i=0;i<list.size();i++){ Person p_temp=(Person)list.get(i); System.out.println(p_temp.getAge()+","+p_temp.getName()); } }
public class ComparatorPerson implements Comparator{ @Override public int compare(Object o1, Object o2) { // TODO Auto-generated method stub Person p1=(Person)o1; Person p2=(Person)o2; int flag=p1.getAge().compareTo(p2.getAge()); if(flag==0){ return p1.getName().compareTo(p2.getName()); }else{ return flag; } } }
public class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } private Integer age; public Person(String name,Integer age) { this.name=name; this.age=age; // TODO Auto-generated constructor stub } public Person(){} }
DataBase:
if there are there query conditions , e.g. select * from xxx where a=A and b=B and c=C , how to create index for these three columns to optimize the performance?
相关文章推荐
- JavaWeb常用开发技术总结-js、spring、javabean、mysql数据库、dwr的使用等
- android混合开发,webview的java与js互操作
- Java web轻量级开发面试教程读书笔记:数据库方面,如何准备面试
- java web面试技巧,数据库面试,java web轻量级开发面试教程
- javaweb开发-js代码中keypress事件调用判断,取得keyCode值
- 为什么php开发网站比javaweb简单很多很多,javaweb却还占有很大市场? - 请在web发展历史中找答案
- java web轻量级开发面试教程内容精粹:哪些简历得不到面试机会
- android web混合开发 混合开发实例——JS与Java的交互
- java web方面的面试问题,Spring MVC方面的面试问题,摘自java web轻量级开发面试教程
- android混合开发,webview的java与js互操作
- 【开发工具】Eclipse编写Java/JS/Web/JSP页面智能提示
- android webView开发之js调用java代码示例
- java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试
- Web前端开发面试题集及答案
- android混合开发,webview的java与js互操作
- javaweb开发-js代码中的function.call的参数
- Android混合开发之WebViewJavascriptBridge实现JS与java安全交互
- Java web开发,在一个jsp里放太多java代码的后果,摘自 java web轻量级开发面试教程
- 面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程
- java web轻量级开发面试教程读书笔记:建索引时我们需要权衡的因素