半个多月的找工作时间,不是在去面试路上,就是在面试中,经历了大概有近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. Ubuntu yindaoxiufu 引导修复(Boot Repair)

    Ubuntu yindaoxiufu 引导修复(Boot Repair)   from: http://blog.csdn.net/piaocoder/article/details/50589667 ...

  2. Kubernetes体系结构

      Nodes Node Status Addresses Phase Condition Capacity Info Management Node Controller Self-Registra ...

  3. vscode "没有活动的源代码控制提供程序" 解决办法

    确保安装git F1,输入Show built-in Extensions, 左侧列表中找Git,然后启用即可

  4. 1:httpd-2.2基础

    在配置httpd主配置文件时,应该先记得备份一下: #cd /etc/httpd/conf/ #cp httpd.conf{,.bak} #vim /etc/httpd/conf/httpd.conf ...

  5. Linux命令之nl命令

    nl 命令在 Linux 系统中用来计算文件中行号.nl 可以将输出的文件内容自动的加上行号,其默认的结果和 与 cat -n 有点不太一样,nl 可以将行号做比较多的显示设计,包括位数是否自动补齐 ...

  6. Python cmd中输入'pip' 不是内部或外部命令,也不是可运行的程序或批处理文件。

    配置一下环境变量,找到 添加一下Scripts文件夹的路径,如:这是我的路径C:\Users\ck\AppData\Local\Programs\Python\Python36 就是你python的安 ...

  7. 小程序之image图片实现宽度100%,高度自适应

    哇 今天搞了半天  图片一直变形啊啊啊啊 宽度100%   高度给100%   给auto   完全不管用啊啊啊啊 然后最后最终!!!! 首先我们要给我们的图片一个100%的宽度!让它自适应!! .g ...

  8. sticky-footer的三种解决方案

    在网页设计中,Sticky footers设计是最古老和最常见的效果之一,大多数人都曾经经历过.它可以概括如下:如果页面内容不够长的时候,页脚块粘贴在视窗底部:如果内容足够长时,页脚块会被内容向下推送 ...

  9. CentOS6.5使用yum快速搭建LAMP环境

    1.安装Apache # yum -y install httpd # 开机自启动 # chkconfig httpd on # 启动httpd 服务 # service httpd start # ...

  10. java正则常用记录

    1.   java中 字符串的某个字母是否有某个指定字符N  : for(int i=0;i<temp.length();i++){ if( temp.get(i).substring(0,1) ...