最近在考虑换个工作 原因?咱能不逗吗?

一面感觉发挥不错  二面之后累觉不爱  基本上浪费了半天的工资(好多钱啊~~~)

PWD上海地址在浦东软件园  工作环境说实话没我现在工作的环境好,不过里面的人给人感觉不错。前台不NICE但给人很舒服的感觉。

说重点,面试过程。

面试分笔试和面试  笔试面试都是英文(回答问题要是实在英文撑不住了就用中文)

笔试题偏基础  说两个注意点  手写冒泡排序  和 用英文描述一个设计模式

面试有两次

第一个考官是个微胖界的胖子(很和蔼)  第二个有点娘(很刁钻)

问题

JVM机制 hibernate机制 各种集合 SSH框架

不想写了  直接贴我之前准备的问题(答案自己写的 仅供参考)

类的继承 
是JAVA面向对象的主要特性,子类可使用父类的所有功能,也可拓展新的功能。一个类只能继承一个父类,但是可以实现多个接口。

构造函数的调用顺序 
构造函数一般用来初始化对象,给对象赋值。 Object---->B的域----->B构造函数里的方法体----->A的域----->A构造函数。

子类对父类函数重写 
继承父类后 同名且同参同返回

子类的加载顺序

父类--静态变量 
父类--静态初始化块 
子类--静态变量 
子类--静态初始化块 
*************in main*************** 
父类--变量 
父类--初始化块 
父类--构造器 
子类--变量 
子类--初始化块 
子类--构造器 
*************second subClass*************** 
父类--变量 
父类--初始化块 
父类--构造器 
子类--变量 
子类--初始化块 
子类--构造器

JVM class loader对类是如何加载的和加载顺序 
首先,总共有四个加载器:bootstrap(核心)、exptension(扩展)、appclassloader(system)、URLclassloader(远程)。

继承关系,从高到低,ABCD 如果B调用某方法 会首先请求A去找 A没找到 则B自己找 B也没找到 则classnotfound 而不会去请求C找

函数的可视范围

函数被重写原理 
首先弄明白JAVA中的四个特性:组合、继承、重载、重写。组合:一个类引用另一个类,而实际运行中,继承其实就是隐式的组合,也就是在子类中保存一个实例对象super,并指向父类。 所以,函数被重写的原理就是:在执行中,如需调用某方法,先在子类中找,如果没找到,则会去在父类中找,如果找到了,也就是重载了。

集合类的分类 
collection(list<arrayList\linkendList\vector>set<>) map(hashMap\hashTable\weakHashTable)

区别 arraylist非同步 满增50% vector同步满增100% set不可重复

SET,LIST,MAP的实现类和之间的关系 
set list都实现collection 三者都为接口 不可实例化

TREEMAP的特性 
有序

TREESET的特性 
唯一 有序 不为空

LIST的实现类之间的区别 
arraylist linkendlist vector

不同集合类在不同情况下的应用 
快速查询 arraylist 批量增加 linkendlist 
增删查 hashmap 遍历treemap

HASH的原理 
hash其实就是以空间换时间 将至转成HASH值 根据数组长度取余 将余数作为该数据数组下标 如果被占用 则重新HASH+1 数组是线性结构中定位最快的

HASHMAP,HASHSET

线程

线程的不同实现 
继承thread或者实现runnable

THREAD和RUNNABLE的区别和关系 
thread为继承类 runnable为接口 
Thread运行在父类的run方法中,Runnable运行在实现Runnable接口的子类对象run方法中。 
runnable可以打破一个类只能继承一个父类的局限性且适合资源共享 
thread也是实现runnable

RUNNABLE和CALLABLE

如何捕捉线程异常 
set uncaughExceiption

为什么要用EXECUTOR

高并发解决方案 
HTML静态化 负载均衡 图片服务器分离 数据库集群 缓存

如何使用synchronized关键字 
同步

Producer and consumer

Reflection如何使用,在什么情况下用 
反射是JAVA的特性之一,能够通过getClass 获取到某一个Class对象 ,并查看该Class的基本情况 
妈蛋 具体什么场景下使用反射哥也不知道好吗。。。hibernate不就是用的反射吗 利用反射可以改变类的属性!

Generics的作用 
代码规范话 减少变异后的强制类型转换 健壮 安全

I/O

Readers and Writers

DATABASE JDBC

SSH 相关问题

SPRING相关问题

IOC AOP实现

SPRING BEAN的scope的定义 
singleton 共享实例 prototype 每次请求new一个实例 request 每次请求new一个实例 但仅当前httprequest内有效

JQUERY事件绑定 
$('#button').blind(function(){alert()}})

AJAX

Java 死锁,如何解决 
JAVA中死锁 我靠 这玩意儿一般原因都很复杂的 根本没有万金油式的解决方案好吗 我们能做的只能避免 慎用synchronize 多线程是尽量按顺序执行

最近项目介绍,问些项目里相关问题如struts原理 
set List区别 
equaIs hashcode及其原理一跟地址有关吗

最熟悉项目介绍,围绕项目中的ssh提问,例一对多如何定义,可不可以用List,与set区别 
sQL调优 
数据库索引

主要问的问题: 
1)spring的IOC和AOP

2)struts1和struts2的区别

3)多线程,死锁等

4)hibernate的缓存分类,实体状态,一对多和多对多实现等

5)spring,struts,hibernate如何集成

6)set,list等集合的相关特性

7)实现不重复的100个随机数的方法

8)hibernate中inverse的使用 
控制映射关系 默认为FALSE 所以 在多对多中 如果某一表数据变化 需要多张表都更新 最好将某张表设为TRUE 则不会重复更新

9)spring中事务的实现 
像Struts2一样,都是凭借强大的拦截器功能对业务逻辑方法的调用进行拦截,然后又BeanNameAutoProxyCreator自动生成事务代理,最后送事务管理器,统一管理

10)常用的设计模式

11)hash code的作用 
提升效率 比如set集合 它是无序不重复的 在对SET新增记录时 为了满足不重复 则在插入之前必须先equals一个个校验存不存在 效率低下 这里 HASHCODE就该上场了 每次新增,先HASH一把 然后将值直接放到HASH值相应的地址 如果改空间被占用 则再equals一把 
如果相等 则不存 不等则HASH+1

普华永道高级JAVA面试记录的更多相关文章

  1. 带你全面了解高级 Java 面试中需要掌握的 JVM 知识点

    目录 JVM 内存划分与内存溢出异常 垃圾回收算法与收集器 虚拟机中的类加载机制 Java 内存模型与线程 虚拟机性能监控与故障处理工具 参考 带你全面了解高级 Java 面试中需要掌握的 JVM 知 ...

  2. 互联网高级Java面试总结

    前不久刚换了单位,这段时间抽出时间来总结一下. 本人渣本毕业四年,无大厂工作经验,出来面高级Java. 上家单位是一个知名互联网平台,但是体量不大的小公司(5线互联网公司),但就是出名(职场人都知道~ ...

  3. 补充Java面试记录

    补充Java面试记录 背景:这两天面试遇到的部分问题都分散在了前面两篇文摘中,这里再做一些其他的记录,以备不时之需! 一.谈谈你对SpringBoot的理解? SpringBoot简介:SpringB ...

  4. 2019 华云数据java面试笔试题 (含面试题解析)

    本人3年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.华云数据等公司offer,岗位是Java后端开发,最终选择去了华云数据. 面试了很多家公司,感觉大部分公司考察的点 ...

  5. 阿里、百度等多家公司Java面试记录与总结

    算算自己大概面试了近十家公司,也拿到了几个Offer,现在面试告一段落,简单总结下面试经验. 我现在主要的方向是Java服务端开发,把遇到的问题和大家分享一下,也谈谈关于技术人员如何有方向的提高自己, ...

  6. 高级Java面试总结1

    一.三大框架方面问题   1.Spring 事务的隔离性,并说说每个隔离性的区别 解答:Spring事务详解 2.Spring事务的传播行为,并说说每个传播行为的区别 解答:Spring事务详解 3. ...

  7. 高级Java面试总结3

    1,java堆,分新生代老年代,新生代有Eden,from surviver,to surviver三个空间,堆被所有线程共.eden内存不足时,发生一次minor GC,会把from survivo ...

  8. 高级Java面试总结2

    1. JVM结构原理.GC工作机制详解 答:具体参照:JVM结构.GC工作机制详解     ,说到GC,记住两点:1.GC是负责回收所有无任何引用对象的内存空间. 注意:垃圾回收回收的是无任何引用的对 ...

  9. 高级java面试宝典

    1.spring事物的配置 spring事物分为俩种,一种是注解事物,一种是AOP事物注解事物的配置: 事物的隔离级别,事物的传播性,事物的超时回滚,哪些异常回滚,哪些不回滚,有默认的回滚规则注解事物 ...

随机推荐

  1. ob_clean()

    我在本地写的系统,部署到虚拟机上的时候,验证码出现问题不显示.加上这个函数之后,验证码出现了.具体的该学习去了.

  2. Oracle rac集群环境中的特殊问题

    备注:本文摘抄于张晓明<大话Oracle RAC:集群 高可用性 备份与恢复> 因为集群环境需要多个计算机协同工作,要达到理想状态,必须要考虑在集群环境下面临的新挑战. 1.并发控制 在集 ...

  3. 2016HUAS暑假集训训练2 F - A Simple Problem with Integers

    Description 给出了一个序列,你需要处理如下两种询问. "C a b c"表示给[a, b]区间中的值全部增加c (-10000 ≤ c ≤ 10000). " ...

  4. hadoop-1.2.1安装配置

    1.准备三台节点 hnd1  hnd2  hnd3 下载 hadoop 下载地址:http://apache.fayea.com/hadoop/common/ API文档:http://hadoop. ...

  5. javascript 百度地图

    官方地址 http://lbsyun.baidu.com/index.php?title=jspopular 示例地址 http://developer.baidu.com/map/jsdemo.ht ...

  6. Java序列化机制

    java的序列化机制支持将对象序列化为本地文件或者通过网络传输至别处, 而反序列化则可以读取流中的数据, 并将其转换为java对象. 被序列化的类需要实现Serializable接口, 使用Objec ...

  7. https加密解密过程详解

    要点: https协议对传输内容进行加密,具有更强的安全性,防止被抓包后解析出请求内容. https是建立在ssl之上的http协议. 服务器支持https协议必须安装一套数字证书,所谓数字证书就是一 ...

  8. Day12~13(2016/2/1~2/2)

    进度:实现了自定义标题栏控件并调用

  9. linux下python安装到指定目录

    由于使用公司服务器时没有root权限,只能把python安装到个人文件夹下,使用源码包方式安装,这里记录一下. 1.python下载 cd到目录/users/w,在此目录下安装python.通过wge ...

  10. 使用coverage工具统计python单元测试覆盖率

    Coverage简介 Coverage是一种用于统计Python代码覆盖率的工具,通过它可以检测测试代码对被测代码的覆盖率如何.Coverage支持分支覆盖率统计,可以生成HTML/XML报告. 官方 ...