半个多月的找工作时间,不是在去面试路上,就是在面试中,经历了大概有近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. $mount方法是用来挂载我们的Vue.extend扩展的

    html <body> <div id="app"> <diy></diy> </div> </body> ...

  2. React Native 组建之IOS和Android通用抽屉

    /** * Sample React Native App * https://github.com/facebook/react-native * @flow *npm:https://www.np ...

  3. Web Api:基于RESTful标准

    参考链接:http://www.cnblogs.com/lori/p/3555737.html 简单的了解到RESTful架构后,跟着以上链接做了一个小练习. Step1: 新建WebApi项目,新建 ...

  4. 【十六】php 面向对象

    __set()方法: 语法: function __set($property, $value) { //$property接收的属性的名字 //$value接收的是属性的值 } 1 class Em ...

  5. python 排序 由大到小

    import functools class Solution: # @param {integer[]} nums # @return {string} def largestNumber(self ...

  6. Python 函数也是一种对象

    函数也是一种对象 func = lambda x, y: x+y print func(3, 4) def func(x, y): return x+y print func(3, 4) 效果相同. ...

  7. kubernetes 简介:kube-dns 和服务发现

    服务发现 kubernetes 提供了 service 的概念可以通过 VIP 访问 pod 提供的服务,但是在使用的时候还有一个问题:怎么知道某个应用的 VIP?比如我们有两个应用,一个 app,一 ...

  8. eclipse打开失败

    以前eclipse运行好好的,某一次运行启动不了,一直图标那里转圈,不能启动, 运行eclipsec.exe后,查看发现出现以下错误 SLF4J: Class path contains multip ...

  9. P493 brass

    实现多态共有继承的两种方法 1 在派生类中重新定义基类的方法 2 使用虚方法 P493程序清单13.7使用的方法为在派生类中重新定义基类的方法 brass.h #ifndef BRASS_H #def ...

  10. Altium Designer PCB画板-交互式布局与模块化布局

    交互式布局 (1)为了达到原理图与PCB两两交互,需要在原理图界面和PCB界面都执行菜单命令“Tools-Cross Select Mode”,选择交互按钮