zoukankan      html  css  js  c++  java
  • 面试题(一)

    (spring mvc框架,如何调试js代码,集合,ajax框架)


    2.spring mvc框架中,接收到一个客户请求时,处理流程是怎样的

    Spring MVC框架围绕DispatcherServlet这个核心展开,DispatcherServlet是Sprrng MVC的总导演、总策划,它负责截获请求并将其分派给相应的处理器处理。Spring MVC框架包括注解驱动控制器、请求及响应的信息处理、视图解析、本地化解析、上传文件解析、异常处理以及表单标签绑定等内容。
    Spring MVC处理流程
    从接受请求到返回响应,Spring MVC框架的众多组件通力配合、各司其职,有条不紊地完成份内的工作。在整个框架中,DispatcherServlet处于核心的位置,它负责协调和组织不同组件以完成请求处理并返回响应的工作。和大多数Web MVC框架一样,SpringMVC通过一个前端Servlet接收所有的请求,并将具体工作委托给其他组件进行处理,DispatcherServlet就是Spring MVC的前端Servlet。
    1.整个过程始于客户端发出一个HTTP请求,Web应用服务器接收到这个请求,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),Web容器将该请求转交给DispatcherServlet处理。
    2.DispatcherServlet接收到这个请求后,将根据请求的信息(包括URL、HTTP方法、请求报文头、请求参数、Cookie等)及HandlerMapping的配置找到处理请求的处理器( Handler)。可将HandlerMapping看成路由控制器,将Handler看成目标主机。值得注意的是:Spring MVC中并没有定义一个Handler接口,实际上任何一个Object都可以成为请求处理器。
    3.当DispatcherServlet根据HandlerMapping得到对应当前请求的Handler后,通过HandlerAdapter对Handler进行封装,再以统一的适配器接口调用Handler。 HandlerAdapter是Spring MVC的框架级接口,顾名思义,HandlerAdapter是一个适配器,它用统一的接口对各种Handler方法进行调用。
    4.处理器完成业务逻辑的处理后将运回一个ModelAndView给DispatcherServlet,ModelAndView包含了视图逻辑名和模型数据信息。
    5.ModelAndView中包含的是“逻辑视图名”而非真正的视图对象,DispatcherServlet借由ViewResolver完成逻辑视图名到真实视图对象的解析工作。
    6.当得到真实的视图对象View后,DispatcherServlet就使用这个View对象对ModelAndView中的模型数据进行视图渲染。
    7.最终客户端得到的响应消息,可能是一个普通的HTML页而,也可能是一个XML或JSON串,甚至是一张图片或一个PDF文档等不同的媒体形式

    3.如何调试js代码,你都用过哪些调试工具
    /大家都用什么调试js?都有什么调试js的好用的工具?
    五个常用的js调试工具

    1)Drosera
    可以调试任何WebKit程序,不仅仅是Safari浏览器。

    2)Dragonfly
    源代码视图有语法高亮,可以设置断点。强大的搜索功能,支持正则表达式。

    3)Getfirebug
    可以在任何网页编辑、调试和实时监视CSS、HTML和JavaScript。

    4)Debugbar

    5)Venkman
    Venkman是Mozilla的JavaScript调试器名称。它旨在为以Mozilla为基础的浏览器(Firefox, Netscape 7.x/9.x and SeaMonkey)提供一个强大的JavaScript调试环境


    4.谈谈你对list,map,set的理解,以及相关的常用类的特点和优缺点。

    List 以特定次序来持有元素,可有重复元素。
    Set 无法拥有重复元素,内部排序。
    Map 保存 key-value 值,value 可多值。

    -------------------Start------------------------20160726-------------------
    1.开发中使用的ajax框架你熟悉的有哪些
    答案:ajax 框架 jquery easyui extjs等

    2.关于java方面的 list ararylist linklist map hashmap treemap hashtable
    他们的区别是什么

    HashMap 和 HashTable 的区别:
    1.HashMap 允许空键值对,HashTable 不允许
    2.HashMap 不是线程安全的,HashTable 是
    3.HashMap 直接实现 Map 接口,HashTable 继承 Dictionary 类
    4. ArrayList,Vector,LinkedList 存储性能和特性
    它们都实现 List 接口
    ArrayList 和 Vector 都是基于数组实现的
    LinkedList 基于双向循环链表(查找效率低,添加删除容易)
    ArrayList 不是线程安全的而 Vector 是线程安全的,所以速度上 ArrayList 高于 Vector
    5.Collection 和 Collections 的区别。
    Collection 是集合类的上级接口,继承与他的接口主要有 Set 和 List.
    Collections 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜
    索、排序、线程安全化等操作。


    3.关于对线程的理解及实现线程的方法有哪些 设计模式 spring框架或者ssh的运行机制 都是什么

    4.jstl 条件判断怎么写 循环遍历是用什么写

    5.数据库性能优化的方法有哪些
    如何调试js 代码

    6.[a-zA-Z]*(5,20) 好像是 a-z和A-Z出现5或者20个字符
    [a-zA-Z]*{5,20}这个代表第一个必须是字母,后面可以是字母数字或下划线,总长度是5-20

    7.由于这做的是大数据 所以数据库性能优化要注意
    比如 给那些常搜索的词加索引 建立存储过程 字段设计命名不要过长

  • 相关阅读:
    solus系统配置
    Linux中常用操作命令
    安装debian 9.1后,中文环境下将home目录下文件夹改为对应的英文
    Java学习之路(书籍推荐)
    tomcat实现文件打开下载功能
    mysql导入sql文件过大或连接超时的解决办法
    启动tomcat不出现命令窗口
    @Transactional注解*
    session处理超时的三种方式
    spingmvc 返回json数据日期格式化方法
  • 原文地址:https://www.cnblogs.com/zhangqf/p/6076195.html
Copyright © 2011-2022 走看看