半个多月的找工作时间,不是在去面试路上,就是在面试中,经历了大概有近10家的面试,虽然很多家都是一回了无音讯,对自己收获还是有的,至少让自己认识到了自身基础不牢固和技术知识面的狭隘。之前从事的工作主要都是开发企业级的应用项目,对多网络编程,多线程,高并发等相关的技术知之甚少。

面试的一般套路都是:先是自己简单的介绍一下,然后介绍一些自己做过哪些拿得出手的项目,面试官一般会根据你项目中所涉及到的开发技术对你提问,如果注重基础的一般都会问较多的java基础的问题。

下面总结一下面试中被问到的问题:

1、java基础方面:

  1】java集合有哪些?hashmap和hashtable的区别?hashmap底层是如何实现的?对hash算法的了解?

  2】 java异常与错误?运行时异常有哪些?

  3】string,stringbuffer,stringbuild的区别?String a = new String(“abc”),创建了几个对象?

  4】对java虚拟机jvm的了解,什么是GC,为什么要有GC?内存溢出如何解决?虚拟机内存包括哪些?堆,栈的区别?他们的内部结构如何?

  5】说说你了解的设计模式?

  6】对java泛型的了解,什么是java的反射机制,如何实现的?

  7】对数据结构排序算法的掌握,说说冒泡排序、快速排序等基本实现的逻辑。

  8】如何实现同步,如何实现多线程,对同步和多线程的深入理解。

  9】Servlet是如何工作的?深入理解servlet?listener和filter的作用与区别?

2、流行框架方面:

  1】说说对spring的理解,IOC的实现原理,AOP的实现原理及项目中具体的实际使用在哪?

  2】Hibernate中的对象有哪三中状态?它们之间是如何转换的?常用接口有哪些?分别什么作用?

  3】Hibernate与Mybatis的优缺点对比?

  4】SpringMVC的实现流程?是否去查看了底层的实现代码?

  5】常用的SpringMVC注解,分别有什么作用?

  6】对Hibernate缓存机制的理解,如何实现的?

  7】Spring如何实现注入Bean?

3、数据库相关:

  1】数据库表空间创建、授权、创建表的一系列SQL语句。

  2】数据量超大表查询速度慢优化的思路?

  3】left join,right join,inner join的用法?

  4】not in 与 not exist的比较?

  5】数据库实现分布式的一般思路?

  6】创建表索引的目的是什么?加索引的根据是什么?对索引的深入了解。

4、项目上用到的相关技术:

  1】什么是单点登录,如何实现单点登录?

  2】安全框架shiro的实现原理,具体如何做到访问权限的控制?

  3】用到哪些缓存技术?实际项目中缓存了哪些数据?

  4】maven的用途,以及它有什么优势?

  5】对Linux的理解?

  6】SVN、Git等代码冲突如何解决?

  7】是否用过工作流?如何实现的?

  8】项目部署分布式如何实现?

5、其他问题:

  1】你的优势在哪里?

  2】在项目过程中遇到过哪些问题?是如何解决的?

  3】架构师需要具备哪些技术,或者说什么样的人可以称为架构师?

  4】自己的职业规划是什么?

  5】一句话概括自己身上的优缺点?在朋友同事眼中你是一个什么样的人?

  6】你有什么问题还要问我们的吗?

  7】一个5L的水杯,一个3L的水杯,如何测量出4L的水?

  8】一个封闭的房间里有3盏灯,房间外面有3个开关,线路连接完好,只进房间一次,如何判断出哪个开关控制的是哪一盏灯?

  

  

java面试之谈的更多相关文章

  1. java面试笔试谈

    例一: public class Inc { public static void main(String[] args) { Inc inc=new Inc(); int i=5; inc.ferm ...

  2. Java面试宝典

    相关概念 面向对象的三个特征 封装,继承,多态.这个应该是人人皆知.有时候也会加上抽象. 多态的好处 允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不同的行为方式(发送消 ...

  3. Java 面试宝典-2017

    http://www.cnblogs.com/nelson-hu/p/7190163.html Java面试宝典-2017   Java面试宝典2017版 一. Java基础部分........... ...

  4. Java面试宝典-2017

    Java面试宝典2017版 一. Java基础部分........................................................................... ...

  5. Java 面试知识点解析(五)——网络协议篇

    前言: 在遨游了一番 Java Web 的世界之后,发现了自己的一些缺失,所以就着一篇深度好文:知名互联网公司校招 Java 开发岗面试知识点解析 ,来好好的对 Java 知识点进行复习和学习一番,大 ...

  6. Java面试大纲-java面试该做哪些准备,java开发达到这样的水平可以涨工资

    Java培训结束,面临的就是毕业找工作.在找工作时,就要针对性地做充分的面试准备.准备不充分的面试,完全是浪费时间,更是对自己的不负责. 上海尚学堂Java培训整理出Java面试大纲,其中大部分都是面 ...

  7. Java面试宝典2018

    转 Java面试宝典2018 一. Java基础部分…………………………………………………………………………………….. 7 1.一个“.java”源文件中是否可以包括多个类(不是内部类)?有什么限制 ...

  8. Java面试总结(面试流程及核心面试题)

    Java面试流程及核心面试题 面试整体流程 1.1 简单的自我介绍      我是xxxx,工作xxx年.我先后在xxxx公司.yyyy公司工作.先后做个xxxx项目.yyyy项目. 1.2 你简单介 ...

  9. java 面试 -- 4

    Java面试知识点总结   本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺(阅读本文需要有 ...

随机推荐

  1. mysql重要sql小记

    mysql -hip -uuser -p -A DB -e '[sql]' | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' & ...

  2. 5、web站点架构模式简介及Nginx

    LB Cluster: 提升系统容量的方式: scale up:向上扩展 scale out:向外扩展 LVS工作在内核中,本身的数量不受套接字数量限制,利用LVS做调度器,优化得当的话,并发数量可以 ...

  3. SMTP发送邮件

    SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件, ...

  4. VR外包公司—2016中国VR开发者论坛第一期

    由VR界网和暴风魔镜联合举办的2016中国VR开发者论坛第一期已于3月2日下午5点在吉林动画学院圆满落幕,本次论坛云集了VR相关领域的精英,邀请了VR社交<极乐王国>.暴风魔镜.南京睿悦. ...

  5. EsayUI + MVC + ADO.NET(项目架构)

    项目目录   1.项目架构: http://www.cnblogs.com/liuxiaoji/p/3922506.html  2.仓储基础接口: http://www.cnblogs.com/liu ...

  6. VS2010:“error C2712: 无法在要求对象展开的函数中使用 __try”

    ZC:这个错误是在使用 "__try{...} __except(EXCEPTION_EXECUTE_HANDLER){}"时 遇到的 http://blog.csdn.net/c ...

  7. Android drag drop

    最近偶尔知道了锤子的one step,所以在网上看相关的东西,有人说android原生drag drop就能实现,我就去学习一下这个drag drop,下面把学习到的东西总结一下: drag drop ...

  8. 兼容低版本 ie 的思路

    兼容处理 ie 低版本,推荐三条路径: 一.css hack,适用于代码初建阶段,也就是说在开发功能之前要思考的问题点,这里总结几个常见的: 1.- 区分 ie6 与 ie7以上 ( -text-in ...

  9. vuex 源码:深入 vuex 之辅助函数 mapState

    前言 当一个组件要获取多个 state 的时候,声明计算属性就会变得重复和冗余了.我们可以使用到辅助函数 mapState 来更快更简洁地生成计算属性. 所以我们得清楚,mapState 的作用就是帮 ...

  10. winfrom 动态添加控件,以及删除

      private void btnadd_Click(object sender, EventArgs e)         {             int fileCount = 0;     ...