java软件工程师面试基本题

上传人:qd****88 文档编号:70070517 上传时间:2022-04-06 格式:DOC 页数:10 大小:41KB
收藏 版权申诉 举报 下载
java软件工程师面试基本题_第1页
第1页 / 共10页
java软件工程师面试基本题_第2页
第2页 / 共10页
java软件工程师面试基本题_第3页
第3页 / 共10页
资源描述:

《java软件工程师面试基本题》由会员分享,可在线阅读,更多相关《java软件工程师面试基本题(10页珍藏版)》请在装配图网上搜索。

1、-在项目中主要遇到的困难?讲一下对Springmvc的理解?SpringMvc是基于过滤器对servlet进行了封装的一个框架,我们使用的时候就是在web.*ml文件中配置DispatcherServlet类;SpringMvc工作时主要是通过DispatcherServlet管理接收到的请求并进行处理。Spring用的是注释还是配置文件注释讲一下Spring常用的注解autowriteResourceQualifierrepositoryservicecontrollerrequestMapperresponseBodyrequestParamModelAttributeScopeSessi

2、on和cookie的区别?怎么动手清除cookie?用代码?session打开浏览器创建的,每个浏览器对应一个sessioncookie是在客户端本地,不会随着浏览器关闭而消失用户可以自己清除本地cookie,也可以在程序中使用代码清除记住我”怎么实现?吧什么存到session使用cookie记住加密的账号和密码怎么把MyBatis整合到spring?MyBatis的#和$区别?MyBatis最重要的配置是数据库连接、SqlSession的创建和sql映射文件可以将mybatis的数据库连接和SqlSession和对sql映射文件的扫描配置到spring配置文件中mybatis中#可以表示任何

3、数据类型都可以,$单独表示数字Mybites支持延迟加码吗?原理是什么?mybatis支持延迟加载在查询的时候不会加载出关联表,但是需要用到关联表的时候,不需要再单独写查询语句,mybatis会自动查询出需要的关联表信息多态的了解?Java支持多继承吗?多态按字面的意思就是多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态不支持String 和stringbuffer的区别?什么时候用string,什么时候用stringbufferString和StringBuffer的区别在于String的容是不可以修改的,而StringBuffer可以被修改,String一旦被修改或者重新赋值

4、,就会创建出一个新的对象Hashmap和hashtable的区别?Hashmap是有序还是无序?继承的父类不同,hashtable继承自Dictionary类,HashMap继承自AbstractMap类HashTable线程安全,应为它每个方法都加入了Synchronize,而HashMap是线程不安全的怎么保证Java的线程安全?Spring的IOC和AOP使用Synchronized关键字,也可以使用特殊变量VolatileIOC控制反转,就是将设计好的对象交给spring容器来控制,对象获取依赖对象的方式,由原来的通过New来创建依赖对象,改变为通过Spring容器来获取依赖对象AOP

5、,面向切面编程,它是一种思想,而不是一种实现,Java对Aop的实现有两种方式,Filter和代理模式,Spring的AOP是通过JAVA的代理模式来实现的,它是一种动态代理,以Spring的声明式事务来说,调用Service层的方法时,根据原来Service层的方法和Spring中配置的事务级别,来动态生成一个代理类,执行代理类的代码而不是执行原来Service层中的代码数据库用的是什么?MySQL怎么创建或者自定义函数?mysqldelimiter /create function function_name(参数列表)returns 返回值类型begin方法部执行的代码end /触发器用

6、过没有?怎么在一个存储过程里面记住一个日志?触发器没有用过游标有用过吗?MySQL怎么实现分页的?如果一个SQL语句order by一个字段性能比较慢要怎么做?常用的SQL优化手段?游标没用过mysql使用limit关键字实现分页order by性能慢可以在order by 的字段建立索引前台做的多不,JQuery有几种选择器?九种常用的是基本选择器、层次选择器#”和.”的区别?Html的代码是从上往下执行区还是从下往上?#是Id选择器,.是类选择器HTML代码是从上到下执行的有用过easyUI吗?Aja*中post和get的区别?EasyUI没用过get一般传送一些简单数据,大小在1KB以下

7、,数据会追加到url中post的传送的数据量比get要大,因为它把数据作为HTTP消息的实体容发送给WEB服务器图片服务器?图片后台上传的?图片上传怎么实现?图片服务器怎么显示吗?是http的地址还是什么?直接写Ngin*的路径,通过Ngin*访问图片服务器你自己负责的是什么?推荐商品的表是怎么设计的?讲一下springmvc ? springmvc 的核心?springmvc 做配制的时候,怎么配制?返回是Json还是数据?SpringMVC是一个基于MVC设计模式的框架,它的核心是HandlerMapping,SpringMVC的配置很简单,只需要配置一个InternalResourceV

8、iewResolver,解析逻辑视图名,web.*ml中,需要配置一个Servlet,配置SpringMVC的拦截路径,有用到maven吗?怎么在本地仓库书写一个架包?Tomcat怎么部署,session的过期时间的优先级?消息队列?了解过吗?Spingboot有了解没?maven是用过的一般来说,一个jar包要添加到项目中,是要添加到专门管理jar包的父工程中,其他模块直接依赖父工程中的jar包就可以了tomcat的部署,tomcat是依赖于jdk的,部署tomcat之前,首先要先安装jkd,有了jdk,tomcat直接部署和到电脑或服务器上就可以了程序中的配置web.*ml中的配置tomc

9、at的配置讲一下hibernate hibernate和mybatis的最大区别?性能上的区别?hibernate是一个全自动化的orm实现,部封装了jdbc操作和大量的sql语句hibernate和mybatis最大的区别就是对orm的实现一个是半自动化,一个是全自动化,简单来说就是mybatis需要编写sql语句,所以他的移植性比hibernate差,如果换了一个数据库,hibernate只需要将方言修改一个,而mybatis基本上需要修改所有的sql语句讲一下面向对象OOP?什么是面向对象编程?Java中的构造函数?面向对象是基于万物皆对象这个哲学观点. 把一个对象抽象成类,具体上就是把

10、一个对象的静态特征和动态特征抽象成属性和方法什么是构造函数?什么是死锁?JVM的垃圾回收机制?构造函数就是在实例化对象的时候调用的方法死锁就是在程序运行时,两个或两个以上的进程由于竞争资源或彼此通信造成的一种阻塞的现象jvm运行时,堆用来存放对象实例和数组,垃圾回收机制的主要作用就是自动释放堆里面对象实例所占用的存,有引用指向对象的时候计数器会+1,不再被引用的时候计数器-1,GC会标记所有活着,也就是计数器大于1的实例,将没有被标记的实例全部回收,释放存抽象和封装的不同点?怎么唤醒一个线程?储存过程用过吗?怎么创建一个储存过程?怎么建立一下索引?oracle的优化?在mybiets中怎么执行

11、批量处理?为什么说Mybites是半自动化的ORM的?与全自动化的区别?抽象就是将类的特性提取出来,而封装是将类的属性包装起来,提供一套get/set方法,供外界访问,外界只需要知道他的值是多少,而不需要知道他的其它信息唤醒线程的话首先要讲线程阻塞或休眠,可以使用suspend方法使线程进入阻塞状态,resume()方法可以将线程从阻塞状态唤醒创建存储过程delimiter /create procedure procedure_name(参数列表)begin需要执行的sql语句end /创建索引create inde* inde*_name on table_name(column_name

12、);oracle优化:合理的使用索引、使用where代替having、避免使用*进行查询、减少对数据库的访问次数批量处理可以使用存储过程mybatis之所以是半自动化的orm实现,是因为他的sql语句需要开发人员自己编写,这导致了它跟全自动化的orm实现比较起来,移植性低,但是整体来说比较轻量级,在中小型项目中,mybatis的性能会高过hibernate12、*ml映射文件会写一个dao接口和工作原理是什么?*ml?是mybatis的映射文件吗?mybatis的映射文件提供了一个dao接口,接口只提供方法的声明,而没有方法的实现,映射文件为接口中的方法提供实现用户发送请求到控制器,控制器调用

13、业务处理,业务处理调用dao层查询数据库,mybatis会在初始化的时候提供将mybatis的所有sql语句解析成mappedstatement对象对象的id就是对应接口中的方法名,业务层调用dao层接口中的方法时,mybatis会根据方法名也就是id来调用mappedstatement对象,执行sql语句用过Javascript用aja*吗?Aja*有什么参数?一般用到什么?在项目中有没有用到日志?*ml有哪些解析技术?aja*常用到的参数主要有:type、data、datatype、success、error、url日志是用的log4jDOM、SA*Ngin*怎么配制的?配制到哪里?你了解

14、反向代理吗?原理是什么?Ngin*的配置主要是配置它的配置文件中的server首先是端口listen然后是url server_name再来是location 配置要读取的文件路径、url真实路径Springmvc?Struts了解不?Struts和Springmvc的区别?Websrvice了解吗?struts用过但是了解不深struts是类级别的拦截,Springmvc是方法级别的拦截Springmvc中方法基本上是独立的,每个方法独享一个request、response数据struts方法虽然也是独立的,但是方法之间是共享一个request、response讲一下WebService的理

15、解?JMS有了解吗?讲一下?WebService是一种跨语言、跨平台的远程调用技术。webService分为服务器端和客户端服务器端暴露出Service接口,客户端调用service接口得到想要的数据JMS,Java消息服务,JMS的客户端可以通过JMS服务进行异步消息传输JMS有两种消息模型,P2P点对点和PUB/SUB发布订阅点对点的概念就是发送者发送一条消息到消息队列,接收者接受这条消息(消费),接收者成功接收消息之后需要向队列应答成功*ml有什么解析技术对面向编程的理解?什么是对象?使用DOM解析*ML使用SA*解析*MLstring是最基本的数据类型吗?Java中有哪几种基本数据类型

16、?String不是基本数据类型,String在Java中是引用类型Java中的基本类型有八种char、boolean、byte、int、long、short、double、floatString是什么数据类型?Int和integer的区别?String是引用类型int和Integer的区别就在于int是java的基本数据类型是一个值类型,Integer是包装类型,是对int的包装构造器可以被重写吗?重写和重载的区别?构造器不能被重写,重写和重载的去别在于重写:在子类在继承父类的时候,继承了父类的方法,但有时候父类的方法需要做一些调整,这时候我们可以在子类中将父类的方法重写一个方法名相同,参数相

17、同的方法重载:重载指在同一个类中可以有几个同名的方法,但是方法之间的参数是不同的怎么创建储存过程?讲一下事务?为什么用到事务?它的应用场景?创建存储过程create procedure proc_name(params)beginsqlend 事务是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行在有些业务中,比如电商项目的收款,收款的同时,要将用户的账户余额或银行卡余额扣款,商品的数量减少,改变订单状态等等操作,涉及到的不止是一表一以上的表如果同时修改的话,有可能会应为其中*一表的操作出现错误,导致其他操作也不能正常执行。这时候就需要用到事务来管理这个操作数据库myS

18、QL常用函数?count、avg、sum、ma*、min、year、month、day、hour、简单说一下Java集合?集合排序?集合就是一个放数据的容器,准确的说是放数据对象引用的容器。Hashtable?Hashtale和hashmap哪个是线程安全的?hashtable线程是安全的单点登陆怎么实现的?单点登录主要是实现在分布式系统中用户只需要在一个模块登录,登录的信息会共享到所有的模块中首先用户登录的话,要跳转到sso模块的登录页面中,或者将登录信息发送到sso中,如果用户信息正确,登录成功,则将用户信息存入redis中用redis来保存用户信息,这时候要生成一段口令,用来作为用户信息

19、保存在redis中的键,将口令保存到cookie中,其他模块只需要根据cookie中的口令来查询redis中是否有这个用户信息,就可以判断出用户是否登录消息队列MQ有几种模式?点对点模式和发布/订阅模式分布式的理解?Dubbo分布式就是将程序的模块拆分出来,每个功能模块负责自己的事情,各个模块之间通过webservice服务来互相通信dubbo是一个分布式服务框架经常使用的框架有哪些?SSM框架简单说一下Springmvc实现逻辑?怎么走的?首先用户发送一个请求到DispatcherServletDispatcherServlet查找handlermapping找到处理请求的controlle

20、rcontroller调用业务处理处理完之后返回modelandviewDispatcherServlet查询视图解析器找到modelandview指定是视图解析视图,渲染视图,返回结果Redis有用到吗?怎样创建Redis?标示redis创建成功的图形是什么?在linu*环境中,将redis的解压包解压缩使用make命令编译文件夹单机版的redis就创建好了图形是redis是图标,一个立体的图标构建maven有遇到什么问题?本地仓库?下载报错怎么处理?jar包的冲突删除之前下载的错误的jar包,重新下载,如果还是有问题,可以考虑换一个镜像地址前端主要用了JQuery类选择器;标签选择器;ID

21、选择器分别怎么用的?类选择器使用.+class的名称ID选择器使用#+id的名称标签选择器可以直接根据标签的名称来使用数据库主用要用什么?转换日期用的是什么?(MySQL中的)说一下SQL性能的优化?创建一个索引之后,在查询的时候什么情况下失效?简单说一下对MVC模式的理解?http协议请求的方法里面有几种形式?它们有什么区别?除Tomcat没有用过其他服务器?Tomcat配制服务器怎么做的?对aja*的理解?异步怎么设置成同步?需要增加什么?Jsp 和servlet的区别?在商家促销中的限时抢购是怎么实现的?时间是怎么控制的?怎么判断这个商品是抢购商品?优惠劵是怎么发给客户的?项目有没有手机

22、端?商品交易管理的投诉管理是怎么实现的?投诉管理功能实现用了几表?投诉管理中怎么区别商家和用户发送信息的时间?这个功能模块的思路?有与物流集成吗?Solr全文搜索服务器有哪几种?除了Jquery用过其他的框架吗?解析*ML的几种形式?Jsp的置对象?在EL表中常用到哪些?If else什么情况下使用?Switch case什么情况下使用?文件获取有没有用过?现在有现在有一个文件,你怎么把文件拿出来?并且读出文件里面的容?简单说一下你的解析思路Java的设计模式有哪些?23种?说一下单例模式?或者23种中常用的?对Tomcat服务器的优化?有哪几种方式?Java集合类框架有哪些集合?往集合里添加

23、元素那个不能添加重复的元素?Arraylist和linkedlist的区别?你比较常用的数据库的函数中对字符操作的函数有那些?Oracle数据库连接查询有哪几种方式?支付的话,主要实现了什么?支付宝、微信、银联?怎么调用接口?怎么传值?Springmvc的核心?AOP、IOC的概念和理解?Spring底层架构是用的哪种设置模式?不用new怎么实例化一个实例?加载的过程是什么样的?商城里高并发怎么处理的?两个人同时占一个商品怎么处理?简单说一下你对事务的理解?用过Spring的定时器吗?拦截器和过滤器的区别?简单说一下你对MVC的理解?Java 的JDK更新到什么版本?JDK和J2ee的区别?S

24、tatic的环境下能访问非Static变量吗?Java的基本类型中哪些是值传递?哪些是引用传递?值传递和引用传递的区别?多线程有没有用过?创建多线程有几种方式?线程在执行的时候有哪几种状态?连线、左连线、右连线的区别?Union on和union有用过吗?数据库oracle中的分页怎么实现的?怎么创建视图?视图和表的区别?数据库删掉表中的容有几种方式?Delete和truncate的区别?哪个删除之后可以恢复?用什么恢复?有现在有一个需求,有一些商家信息是错误的。有一个e*cel表格,里面有商家的正确信息,要把这个表格里面的数据与需求中相匹配,怎么实现?(直接用SQL操作)1.hashmap和

25、hashtable的区别HashMap和Hashtable都实现了Map接口,但决定用哪一个之前先要弄清楚它们之间的分别。主要的区别有:线程安全性,同步(synchronization),以及速度。(1)HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value),而Hashtable则不行)。(2)HashMap是非synchronized,而Hashtable是synchronized,这意味着Hashtable是线程安全的,多个线程可以共享一个Hashtable;而

26、如果没有正确的同步的话,多个线程是不能共享HashMap的。Java 5提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的扩展性更好。(3)另一个区别是HashMap的迭代器(Iterator)是fail-fast迭代器,而Hashtable的enumerator迭代器不是fail-fast的。所以当有其它线程改变了HashMap的结构(增加或者移除元素),将会抛出ConcurrentModificationE*ception,但迭代器本身的remove()方法移除元素则不会抛出ConcurrentModificationE*ception异常。但这并不是一个一定发生的行为,要看JVM。这条同样也是Enumeration和Iterator的区别。(4)由于Hashtable是线程安全的也是synchronized,所以在单线程环境下它比HashMap要慢。如果你不需要同步,只需要单一线程,则使用HashMap性能要好过Hashtable。(5)HashMap不能保证随着时间的推移Map中的元素次序是不变的. z.

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!