java研发常见问题总结 1
1.java中所有类的父类是什么?他都有什么方法?
Object类是所有类的直接或间接基类,如果一个类在声明时未继承基类,Java就默认其基类是Object,故Object被称为根类。该类位于java.lang包中,它有如下几个常用方法:
equals(): 用于比较两个对象是否指向同一块内存区域,相当于==运算符。(注意:在String类中,已将该方法改写比较字符串内容是否相同);
hashCode(): 返回该对象的哈希码值(返回该对象的存储地址,整数),用于标识一个对象,如果两个对象相等,则哈希码值一定相同;
toString(): 返回值是String类型,描述当前对象的有关信息,当对象与String型数据的连接时,自动调用其toString()方法。
2.java中IO包下面的inputstream运用了什么设计模式?请简述你知道的设计模式?
Decorator模式,主要功能是给一个对象动态的添加一些额外的功能,添加一个装饰,装饰必须与被装饰的组件继承于同一个接口,这样用户就不用担心装饰的集体实现,因为对他们老说是透明的。
java I/O 的设计模式主要有装饰模式(decorator)和适配器模式。
3.ArrayList跟LinkedList的区别详细说出?
1). ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。
2). 对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。
3). 对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据
4.session和cookie的区别?
话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。(http://blog.csdn.net/fangaoxin/article/details/6952954)
1、session数据保存在服务器,cookie数据保存在客户端。
2、cookie不是很安全,别人可以分析存放在本地的cookie进行cookie欺骗,为安全考虑应当使用session(登录个人信息存放在session,其他信息存放在cookie)
3、session数据会一定时间保存在服务器上,当访问增多时,会影响服务器性能,考虑到服务器性能应该使用cookie。
4、一个cookie保存的数据不能超过4k,一般浏览器限制一个站点不能超过20个cookie。
5.说一下快速排序的原理?
具体做法:附设两个指针low和high,分别设初值为low和high,设枢轴记录的关键字为key,并暂存于r[0],首先从high所指向的位置开始,向前一步搜索找到第一个关键字小于key的记录与low所指向的记录进行交换,然后在从low所指向的位置向后搜索找到第一个关键字大于key的记录与high指向的记录交换,重复上述两步骤,直到low=high相等,才得到枢轴记录的正确位置。插入即可。
6.如何在hibernate中查看原始的sql语句
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC(Java Data Base Connectivity,java数据库连接,是一种用于执行SQL语句的Java API)进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
8.struts2的流程?
9.简述下多线程?
进程是指运行的程序,每个进程分配一定的内存空间,一个进程中存在多个线程,启动一个java虚拟机,就是打开一个进程,当进程中同时运行多个线程,叫做并发。
线程的实现方式有两种:继承Thread类和实现Runnable接口,通过覆盖run()方法来实现线程的行为。
线程状态:
New状态,使用new新建一个线程对象处于新建状态,仅仅在堆栈中分配了内存。
Runnable就绪状态,线程调用start()方法后,线程就进入就绪状态,虚拟机为它创建方法调用栈和程序计时器,处于这个状态线程可进入可运行池中,等待获取cpu使用权。
Runnabing运行状态,这个状态的线程处于cpu的使用状态,如果计算机只有一个cpu,则有一个线程处于这个状态,如果有多个cpu,则有多个线程占用不同的cpu,只有处于就行状态的线程才才有机会变为运行状态。
阻塞状态,线程由于某些原因放弃了cpu,此时不为线程分配cpu,直到线程重新进入到就绪状态。(阻塞原因:wait()、sleep()、I/O、其他原因)
调度方式:分时调度和抢占式调度。
12.java有些类中为什么需要实现Serializable接口?
Serializable接口,是java提供的通用数据存储和读取的接口,实现serializable接口的对象可以转换成字符流,这样就可以将对象存储在文件中,或是作为数据流通过网络传输到其他地方去,或是通过管道传输到系统的其他程序中,这样设计就极大的简化了类的设计,应用于分布式应用系统中。
13.hashmap,hashtable的区别?以及如何使用,以及他的一些方法?
第一,继承不同。public class Hashtable extends Dictionary implements Map
public class HashMap extends AbstractMap implements Map
第二,Hashtable 中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。在多线程并发的环境下,可以直接使用Hashtable,但是要使用HashMap的话就要自己增加同步处理了。
第三,Hashtable中,key和value都不允许出现null值。
在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示 HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键, 而应该用containsKey()方法来判断。
第四,两个遍历方式的内部实现上不同。Hashtable、HashMap都使用了 Iterator。而由于历史原因,Hashtable还使用了Enumeration的方式 。
第五,哈希值的使用不同,HashTable直接使用对象的hashCode。而HashMap重新计算hash值。
第六,Hashtable和HashMap它们两个内部实现方式的数组的初始大小和扩容的方式。HashTable中hash数组默认大小是11,增加的方式是 old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数。
方法:get(key),remove(key),put(key,value),contains:containKey,containValue
,isEmpty()...
14.设计题,利用hashmap对苹果的重量进行排序?
15.struts2拦截器相关问题
16.struts2接受参数的方式
17.数据结构
18.异常的相关问题?error和exception具体?
19.还问了个MYSQL如何查看运行状态
20.问了一些关于collections的方法?
21.servlet相关知识,doPost,doGet,一些内置对象?
23.set和list的区别,一些个实现类,继承关系等等?
24.在Hibernate中java的对象状态有哪些?
25.简述你看过java类的源代码?
26.数据库事务隔离机制及其特点是什么?
27.JVM内存heap and stack
28.HTTP报文包含内容?
29.TCP/IP三次握手?
30.垃圾回收?
31.其他问了未来规划,在学校学的最好的一门,然后教育了下我说大公司注重基础跟潜力,小公司注重上来就会做事,要多看源码多看jdk注重java基础!!!
1.什么是 java 序列化, 如何实现 java 序列化?或者请解释 Serializable 接口 接口的作用?
2.MVC的各个部分都有那些技术来实现? 如何实现?
3.开发中主要使用 Spring 的什么技术 ?
4.对Spring的理解,项目中都用什么?怎么用的?对IOC、和AOP的理解及实现原理?
5.hashmap底层如何实现的?
6.arrayList底层如何扩展的?
7.谈谈Hibernate的理解,一级和二级缓存的作用,在项目中Hibernate都是怎么使用缓存的?
8.谈谈你在项目中的角色?
9.你做过的项目模块实现?
10.线程同步,并发操作怎么控制?
11.servlet容器启动过程,生命周期?
12.SQL关联关系?
13.list去重?
14.arraylist和hashmap在内存中开销?
15.sql行转列?
java研发常见问题总结 1的更多相关文章
- java研发常见问题总结2
1. String.StringBuffer与StringBuilder之间区别 关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下 ...
- 千回百折:百度Java研发offer斩获记和经验分享
起因 面试过程 等待offer的过程中悟道 Java面试常考知识点个人总结 过程 百度——作为国内互联网的巨头之一,最近的一些风波对其褒贬不一,但是类似事件不是第一次发生,也绝对不是最后一次,对于真的 ...
- Java研发岗位面试归类B(附答案)
本文承接上文:Java研发岗位面试归类A(附答案): http://www.cnblogs.com/wp5719/p/5870243.html 答案自己网上找的,如有纰漏或错误,烦请指教. 七.数据库 ...
- TFS 2017 培训 - 北京某银行科技部Java研发团队
今天受邀和微软公司的朋友一起,为北京某银行科技部的两个Java研发团队做了一场TFS系统的技术培训. 按照需求分析>开发>编译>发布>测试的流程为研发团队做了全流程的介绍. 这 ...
- 2017实习【Java研发】面经
标签: 实习 面经 Java研发 阿里.腾讯.华为 找2017暑假实习,经历过被腾讯拒绝的无奈,也有拿到阿里和华为offer的喜悦,找实习过程也有一段时间了,在此把之前的面试知识点和经历做个小总结,以 ...
- Java研发工程师知识点总结
Java研发工程师知识点总结 最近一次更新2017年12月08日 大纲 一.Java基础(语言.集合框架.OOP.设计模式等) 二.Java高级(JavaEE.框架.服务器.工具等) 三.多线程和并发 ...
- 学生党如何拿到阿里技术offer: 《2016阿里巴巴校招内推offer之Java研发工程师(成功)》
摘要: 这篇文章字字珠玑,这位面试的学长并非计算机相关专业,但是其技术功底足以使很多计算机专业的学生汗颜,这篇文章值得我们仔细品读,其逻辑条理清晰,问题把握透彻,语言表达精炼,为我们提供了宝贵的学习经 ...
- Java研发书单
Java研发书单 计算机基础:<深入理解计算机系统><计算机网络> 网络方面:<TCP/IP协议卷一><unix网络编程卷一>(部分章节,JAVA主要是 ...
- 2015年阿里实习生面试Java研发工程师 小记
5月5日,广州,阿里实习生面试,Java研发工程师,完全被虐orz 几乎没有Java项目开发经验,接近零基础,去水了一发,毫无悬念的被刷了..RP也是杠杠的,准备过的题目一个都没被问到,算法题也是一条 ...
随机推荐
- Xsheel远程链接ECS,Xftp上传文件到ECS
下载Xshell 工具:用来远程实现远程访问. 下载Xftp工具:方便用来上传文件. 下载方式直接百度搜索,如下如: 下载完成之后安装. 接下来就是链接云服务器了. 直接百度经验按照步骤来就OK了,如 ...
- stream2
import java.util.ArrayList; import java.util.List; import java.util.Set; import java.util.function.B ...
- json处理第二篇:利用fastjson处理json
fastjson是阿里开源的工具包,主要是利用com.alibaba.fastjson.JSON及其两个子类com.alibaba.fastjson.JSONObject.com.alibaba.fa ...
- webpack安装与配置(window)
最近几天也是刚刚学习webpack工具,所以就要从安装开始我的学习的第一步.在网上搜索了找到webpack官网,在下载webpack就要先安装nodejs,在nodejs里用集成的npm下载webpa ...
- PlayMaker 状态机FSM重用
注意:playmaker做模板的时候不应该有拖入的东西,这样保存模版后会报错,提示容易丢失东西.
- rails 里js 在production 只合并不压缩等问题,以及assets pipeline 加载js 在指定页面上
因为刚学rails,试着做了一个小系统操作微信公共帐号, 之后部署的时候遇见了一个问题,整套系统在互联网端访问,非常的慢,而在手机端访问,10s后才会有响应, 打开chrome的调试工具,发现appl ...
- pat1040. Longest Symmetric String (25)
1040. Longest Symmetric String (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, ...
- JDK一键安装,配置环境
人懒,就得“多干活”! 正常安装JDK 的话,它会修改系统的path 变量,加入自己的调用路径(jre) 这样,我们刚安装好后,就可直接调用java –verbose 查看jre 安装的目录了. ( ...
- td标签里内容不换行
在一些页面开发中,除自己操作外,引起换行的情况一般有: Ex一.td标签里内容长度过长引起换行: Ex二.div标签(或其他标记)里内容有文本和图片引起换行: 解决方法: 针对例子一用<nobr ...
- Java的类成员变量、实例变量、类变量,成员方法、实例方法、类方法
总是被这些相似的概念搞晕,查阅了资料后做个小总结,以变量为例,方法辨析类似. 1.多胞胎名字汇总辨析 成员变量和成员方法是范围最大的定义,提到成员变量就可以理解成你所定义在一个类体中的各类变量的统称, ...