1、在项目中主要遇到的困难?讲一下对 Springmvc 的理解?SpringMvc 是基于过滤器对 servlet 进行了封装的一个框架,我们使用的时候就是在 web.xml文件中配置 DispatcherServlet 类;SpringMvc 工作时主要是通过 DispatcherServlet 管理接收到的请求并进行处理。Spring 用的是注释还是配置文件注释讲一下 Spring 常用的注解autowriteResourceQualifierrepositoryservicecontrollerrequestMapperresponseBodyrequestParamModelAttrib
2、uteScopeSession 和 cookie 的区别?怎么动手清除 cookie?用代码?session 打开浏览器创建的,每个浏览器对应一个 sessioncookie 是在客户端本地,不会随着浏览器关闭而消失用户可以自己清除本地 cookie,也可以在程序中使用代码清除“记住我”怎么实现?吧什么存到 session?使用 cookie 记住加密的账号和密码怎么把 MyBatis 整合到 spring?MyBatis 的#和$区别?MyBatis 最重要的配置是数据库连接、SqlSession 的创建和 sql 映射文件可以将 mybatis 的数据库连接和 SqlSession 和对
3、sql 映射文件的扫描配置到 spring 配置文件中mybatis 中#可以表示任何数据类型都可以,$ 单独表示数字Mybites 支持延迟加码吗?原理是什么?mybatis 支持延迟加载在查询的时候不会加载出关联表,但是需要用到关联表的时候,不需要再单独写查询语句,mybatis 会自动查询出需要的关联表信息多态的了解?Java 支持多继承吗?多态按字面的意思就是“多种状态” 。在面向对象语言中,接口的多种不同的实现方式即为多态不支持String 和 stringbuffer 的区别?什么时候用 string,什么时候用 stringbuffer?String 和 StringBuffer
4、 的区别在于 String 的内容是不可以修改的,而 StringBuffer 可以被修改,String 一旦被修改或者重新赋值,就会创建出一个新的对象Hashmap 和 hashtable 的区别?Hashmap 是有序还是无序?继承的父类不同,hashtable 继承自 Dictionary 类,HashMap 继承自 AbstractMap 类HashTable 线程安全,应为它每个方法都加入了 Synchronize,而 HashMap 是线程不安全的怎么保证 Java 的线程安全?Spring 的 IOC 和 AOP?使用 Synchronized 关键字,也可以使用特殊变量 Vol
5、atileIOC 控制反转,就是将设计好的对象交给 spring 容器来控制,对象内获取依赖对象的方式,由原来的通过 New 来创建依赖对象,改变为通过 Spring 容器来获取依赖对象AOP,面向切面编程,它是一种思想,而不是一种实现,Java 对 Aop 的实现有两种方式,Filter 和代理模式,Spring 的 AOP 是通过 JAVA 的代理模式来实现的,它是一种动态代理,以 Spring 的声明式事务来说,调用 Service 层的方法时,根据原来 Service 层的方法和 Spring 中配置的事务级别,来动态生成一个代理类,执行代理类的代码而不是执行原来 Service 层中
6、的代码数据库用的是什么?MySQL 怎么创建或者自定义函数?mysqldelimiter /create function function_name(参数列表)returns 返回值类型begin方法内部执行的代码end /触发器用过没有?怎么在一个存储过程里面记住一个日志?触发器没有用过游标有用过吗?MySQL 怎么实现分页的?如果一个 SQL 语句 order by 一个字段性能比较慢要怎么做?常用的 SQL 优化手段?游标没用过mysql 使用 limit 关键字实现分页order by 性能慢可以在 order by 的字段建立索引前台做的多不,JQuery 有几种选择器?九种常用的
7、是基本选择器、层次选择器“#”和“.”的区别? Html 的代码是从上往下执行区还是从下往上?#是 Id 选择器,.是类选择器HTML 代码是从上到下执行的有用过 easyUI 吗?Ajax 中 post 和 get 的区别?EasyUI 没用过get 一般传送一些简单数据,大小在 1KB 以下,数据会追加到 url 中post 的传送的数据量比 get 要大,因为它把数据作为 HTTP 消息的实体内容发送给 WEB 服务器图片服务器?图片后台上传的?图片上传怎么实现?图片服务器怎么显示吗?是 http 的地址还是什么?直接写 Nginx 的路径,通过 Nginx 访问图片服务器你自己负责的是
8、什么?推荐商品的表是怎么设计的?讲一下 springmvc ? springmvc 的核心?springmvc 做配制的时候,怎么配制?返回是Json 还是数据?SpringMVC 是一个基于 MVC 设计模式的框架,它的核心是 HandlerMapping,SpringMVC 的配置很简单,只需要配置一个 InternalResourceViewResolver,解析逻辑视图名,web.xml 中,需要配置一个 Servlet,配置 SpringMVC 的拦截路径,有用到 maven 吗?怎么在本地仓库书写一个架包?Tomcat 怎么部署,session 的过期时间的优先级?消息队列?了解过
9、吗?Spingboot 有了解没?maven 是用过的一般来说,一个 jar 包要添加到项目中,是要添加到专门管理 jar 包的父工程中,其他模块直接依赖父工程中的 jar 包就可以了tomcat 的部署,tomcat 是依赖于 jdk 的,部署 tomcat 之前,首先要先安装 jkd,有了jdk,tomcat 直接部署和到电脑或服务器上就可以了程序中的配置web.xml 中的配置tomcat 的配置讲一下 hibernate? hibernate 和 mybatis 的最大区别?性能上的区别?hibernate 是一个全自动化的 orm 实现,内部封装了 jdbc 操作和大量的 sql 语
10、句hibernate 和 mybatis 最大的区别就是对 orm 的实现一个是半自动化,一个是全自动化,简单来说就是 mybatis 需要编写 sql 语句,所以他的移植性比 hibernate 差,如果换了一个数据库,hibernate 只需要将方言修改一个,而 mybatis 基本上需要修改所有的 sql 语句讲一下面向对象 OOP?什么是面向对象编程? Java 中的构造函数?面向对象是基于万物皆对象这个哲学观点. 把一个对象抽象成类,具体上就是把一个对象的静态特征和动态特征抽象成属性和方法什么是构造函数?什么是死锁?JVM 的垃圾回收机制?构造函数就是在实例化对象的时候调用的方法死锁
11、就是在程序运行时,两个或两个以上的进程由于竞争资源或彼此通信造成的一种阻塞的现象jvm 运行时,堆用来存放对象实例和数组,垃圾回收机制的主要作用就是自动释放堆里面对象实例所占用的内存,有引用指向对象的时候计数器会+1,不再被引用的时候计数器-1,GC 会标记所有活着,也就是计数器大于 1 的实例,将没有被标记的实例全部回收,释放内存抽象和封装的不同点?怎么唤醒一个线程?储存过程用过吗?怎么创建一个储存过程?怎么建立一下索引?oracle 的优化?在 mybiets 中怎么执行批量处理?为什么说 Mybites 是半自动化的 ORM 的?与全自动化的区别?抽象就是将类的特性提取出来,而封装是将类
12、的属性包装起来,提供一套 get/set 方法,供外界访问, 外界只需要知道他的值是多少,而不需要知道他的其它信息唤醒线程的话首先要讲线程阻塞或休眠,可以使用 suspend 方法使线程进入阻塞状态,resume()方法可以将线程从阻塞状态唤醒创建存储过程delimiter /create procedure procedure_name(参数列表)begin需要执行的 sql 语句end /创建索引create index index_name on table_name(column_name);oracle 优化:合理的使用索引、使用 where 代替 having、避免使用“*“进行查
13、询、减少对数据库的访问次数批量处理可以使用存储过程mybatis 之所以是半自动化的 orm 实现,是因为他的 sql 语句需要开发人员自己编写,这导致了它跟全自动化的 orm 实现比较起来,移植性低,但是整体来说比较轻量级,在中小型项目中,mybatis 的性能会高过 hibernate12、 Xml 映射文件会写一个 dao 接口和工作原理是什么?xml?是 mybatis 的映射文件吗?mybatis 的映射文件提供了一个 dao 接口,接口只提供方法的声明,而没有方法的实现,映射文件为接口中的方法提供实现用户发送请求到控制器,控制器调用业务处理,业务处理调用 dao 层查询数据库,my
14、batis会在初始化的时候提供将 mybatis 的所有 sql 语句解析成 mappedstatement 对象对象的 id 就是对应接口中的方法名,业务层调用 dao 层接口中的方法时,mybatis 会根据方法名也就是 id 来调用 mappedstatement 对象,执行 sql 语句用过 Javascript 用 ajax 吗?Ajax 有什么参数?一般用到什么?在项目中有没有用到日志?Xml 有哪些解析技术? ajax 常用到的参数主要有:type、data、datatype 、success、error 、url日志是用的 log4jDOM、SAXNginx 怎么配制的?配制到
15、哪里?你了解反向代理吗?原理是什么?Nginx 的配置主要是配置它的配置文件中的 server首先是端口 listen然后是 url server_name再来是 location 配置要读取的文件路径、url 真实路径Springmvc?Struts 了解不?Struts 和 Springmvc 的区别?Websrvice 了解吗?struts 用过但是了解不深struts 是类级别的拦截,Springmvc 是方法级别的拦截Springmvc 中方法基本上是独立的,每个方法独享一个 request、response 数据struts 方法虽然也是独立的,但是方法之间是共享一个 reques
16、t、response讲一下 WebService 的理解?JMS 有了解吗?讲一下?WebService 是一种跨语言、跨平台的远程调用技术。webService 分为服务器端和客户端服务器端暴露出 Service 接口,客户端调用 service 接口得到想要的数据JMS,Java 消息服务 ,JMS 的客户端可以通过 JMS 服务进行异步消息传输JMS 有两种消息模型,P2P 点对点和 PUB/SUB 发布订阅点对点的概念就是发送者发送一条消息到消息队列,接收者接受这条消息(消费) ,接收者成功接收消息之后需要向队列应答成功Xml 有什么解析技术?对面向编程的理解?什么是对象?使用 DOM
17、 解析 XML使用 SAX 解析 XMLstring 是最基本的数据类型吗?Java 中有哪几种基本数据类型?String 不是基本数据类型,String 在 Java 中是引用类型Java 中的基本类型有八种char、boolean、byte、int、long、short、double、floatString 是什么数据类型?Int 和 integer 的区别?String 是引用类型int 和 Integer 的区别就在于 int 是 java 的基本数据类型是一个值类型,Integer 是包装类型,是对 int 的包装构造器可以被重写吗?重写和重载的区别?构造器不能被重写,重写和重载的去
18、别在于重写:在子类在继承父类的时候,继承了父类的方法,但有时候父类的方法需要做一些调整,这时候我们可以在子类中将父类的方法重写一个方法名相同,参数相同的方法重载:重载指在同一个类中可以有几个同名的方法,但是方法之间的参数是不同的怎么创建储存过程?讲一下事务?为什么用到事务?它的应用场景?创建存储过程create procedure proc_name(params)beginsqlend 事务是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行在有些业务中,比如电商项目的收款,收款的同时,要将用户的账户余额或银行卡余额扣款,商品的数量减少,改变订单状态等等操作,涉及到的不
19、止是一张表一张以上的表如果同时修改的话,有可能会应为其中某一张表的操作出现错误,导致其他操作也不能正常执行。这时候就需要用到事务来管理这个操作数据库 mySQL 常用函数?count、avg、sum、max 、min、year、month、day、hour、简单说一下 Java 集合?集合排序?集合就是一个放数据的容器,准确的说是放数据对象引用的容器。Hashtable?Hashtale 和 hashmap 哪个是线程安全的?hashtable 线程是安全的单点登陆怎么实现的?单点登录主要是实现在分布式系统中用户只需要在一个模块登录,登录的信息会共享到所有的模块中首先用户登录的话,要跳转到 s
20、so 模块的登录页面中,或者将登录信息发送到 sso 中,如果用户信息正确,登录成功,则将用户信息存入 redis 中用 redis 来保存用户信息,这时候要生成一段口令,用来作为用户信息保存在 redis 中的键,将口令保存到 cookie 中,其他模块只需要根据 cookie 中的口令来查询 redis 中是否有这个用户信息,就可以判断出用户是否登录消息队列 MQ 有几种模式?点对点模式和发布/订阅模式分布式的理解?Dubbo分布式就是将程序的模块拆分出来,每个功能模块负责自己的事情,各个模块之间通过webservice 服务来互相通信dubbo 是一个分布式服务框架经常使用的框架有哪些?
21、SSM 框架简单说一下 Springmvc 实现逻辑?怎么走的?首先用户发送一个请求到 DispatcherServletDispatcherServlet 查找 handlermapping 找到处理请求的 controllercontroller 调用业务处理处理完之后返回 modelandviewDispatcherServlet 查询视图解析器找到 modelandview 指定是视图解析视图,渲染视图,返回结果Redis 有用到吗?怎样创建 Redis?标示 redis 创建成功的图形是什么?在 linux 环境中,将 redis 的解压包解压缩使用 make 命令编译文件夹单机版的
22、 redis 就创建好了图形是 redis 是图标,一个立体的图标构建 maven 有遇到什么问题?本地仓库?下载报错怎么处理?jar 包的冲突删除之前下载的错误的 jar 包,重新下载,如果还是有问题,可以考虑换一个镜像地址前端主要用了 JQuery?类选择器;标签选择器;ID 选择器分别怎么用的?类选择器使用“.“+class 的名称ID 选择器使用 “#“+id 的名称标签选择器可以直接根据标签的名称来使用数据库主用要用什么?转换日期用的是什么?(MySQL 中的)说一下 SQL 性能的优化?创建一个索引之后,在查询的时候什么情况下失效?简单说一下对 MVC 模式的理解? http 协议
23、请求的方法里面有几种形式?它们有什么区别?除 Tomcat 没有用过其他服务器?Tomcat 配制服务器怎么做的?对 ajax 的理解?异步怎么设置成同步?需要增加什么?Jsp 和 servlet 的区别?在商家促销中的限时抢购是怎么实现的?时间是怎么控制的?怎么判断这个商品是抢购商品?优惠劵是怎么发给客户的?项目有没有手机端?商品交易管理的投诉管理是怎么实现的?投诉管理功能实现用了几张表?投诉管理中怎么区别商家和用户发送信息的时间?这个功能模块的思路?有与物流集成吗?Solr 全文搜索服务器有哪几种?除了 Jquery 用过其他的框架吗?解析 XML 的几种形式?Jsp 的内置对象?在 EL
24、 表中常用到哪些?If else 什么情况下使用?Switch case 什么情况下使用?文件获取有没有用过?现在有现在有一个文件,你怎么把文件拿出来?并且读出文件里面的内容?简单说一下你的解析思路Java 的设计模式有哪些?23 种?说一下单例模式?或者 23 种中常用的?对 Tomcat 服务器的优化?有哪几种方式?Java 集合类框架有哪些集合?往集合里添加元素那个不能添加重复的元素?Arraylist 和 linkedlist 的区别?你比较常用的数据库的函数中对字符操作的函数有那些?Oracle 数据库连接查询有哪几种方式?支付的话,主要实现了什么?支付宝、微信、银联?怎么调用接口?
25、怎么传值?Springmvc 的核心?AOP、IOC 的概念和理解?Spring 底层架构是用的哪种设置模式?不用 new 怎么实例化一个实例?加载的过程是什么样的?商城里高并发怎么处理的?两个人同时占一个商品怎么处理?简单说一下你对事务的理解?用过 Spring 的定时器吗? 拦截器和过滤器的区别?简单说一下你对 MVC 的理解?Java 的 JDK 更新到什么版本?JDK 和 J2ee 的区别?Static 的环境下能访问非 Static 变量吗?Java 的基本类型中哪些是值传递?哪些是引用传递?值传递和引用传递的区别?多线程有没有用过?创建多线程有几种方式?线程在执行的时候有哪几种状态
26、?内连线、左连线、右连线的区别?Union on 和 union 有用过吗?数据库 oracle 中的分页怎么实现的?怎么创建视图?视图和表的区别?数据库删掉表中的内容有几种方式?Delete 和 truncate 的区别?哪个删除之后可以恢复?用什么恢复?有现在有一个需求,有一些商家信息是错误的。有一个 excel 表格,里面有商家的正确信息,要把这个表格里面的数据与需求中相匹配,怎么实现?(直接用 SQL 操作)1.hashmap 和 hashtable 的区别HashMap 和 Hashtable 都实现了 Map 接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全
27、性,同步(synchronization),以及速度。(1 ) HashMap 几乎可以等价于 Hashtable,除了 HashMap 是非 synchronized 的,并可以接受 null(HashMap 可以接受为 null 的键值(key)和值(value) ,而 Hashtable 则不行) 。(2 ) HashMap 是非 synchronized,而 Hashtable 是 synchronized,这意味着 Hashtable 是线程安全的,多个线程可以共享一个 Hashtable;而如果没有正确的同步的话,多个线程是不能共享 HashMap 的。Java 5 提供了 Con
28、currentHashMap,它是 HashTable 的替代,比HashTable 的扩展性更好。(3 )另一个区别是 HashMap 的迭代器(Iterator)是 fail-fast 迭代器,而 Hashtable 的enumerator 迭代器不是 fail-fast 的。所以当有其它线程改变了 HashMap 的结构(增加或者移除元素) ,将会抛出 ConcurrentModificationException,但迭代器本身的 remove()方法移除元素则不会抛出 ConcurrentModificationException 异常。但这并不是一个一定发生的行为,要看 JVM。这条同样也是 Enumeration 和 Iterator 的区别。(4 )由于 Hashtable 是线程安全的也是 synchronized,所以在单线程环境下它比 HashMap要慢。如果你不需要同步,只需要单一线程,那么使用 HashMap 性能要好过 Hashtable。(5 ) HashMap 不能保证随着时间的推移 Map 中的元素次序是不变的