面试题

来源:互联网 发布:淘宝转盘抽奖怎么做 编辑:程序博客网 时间:2024/06/07 08:52


为什么使用反射,在什么地方使用反射。
反射怎么实现的
单例模式有什么优点,在什么地方用到了
在什么地方工厂模式
解释下堆排

set与list分别应用在什么地方
多线程的启动维护
JVM内存模型怎么样的
Spring的注解及流程
Spring的原理 


 1、"你最近学了哪些技术","最近学了Nginx、Redis、Dubbo"。
2、"讲讲List吧","List下有ArrayList、LinkedList、vector"
3、"对他们的了解":"ArrayList和LinkedList我都自己写过他们的大概的方法,也看过他们的源码,所以我对他们还是比较了解的"
4、"讲讲set吧":"是一个有序的集合,其实他的低层代码就是调用map的方法,比如add()就是调用了map.put(..)"
5、"set是怎么去重的":"在实体类中实现了comparable接口,重写了comparaTo()"
6、"如果存储的类型是String,那是怎么去重的","我认为是String中的hashCode()和equals()方法,我看过String中的equals方法,首先他是先与自己比较如果该对象就是本身的话,他就直接返回true,后面就是char[]数组,for循环比较"
7、"讲讲你项目的前端吧":"我前端是用纯静态页面写的,用的框架是layui,layui里面有layer和laytpl之类的对象,数据交换用的是ajax。"
8、"Maven怎么在Tomcat上部署的"
9、"说说spring AOP与IOC":"IOC方面的我说了他的初始化的过程,后面讲了自己对Spring的认识,设计模式和六大原则,解耦,多模块开发。"
10、"MVC的理解,MV的理解"。
11、"现在你有什么问题想问我的吗"
12、"如果你进入我们公司,可以负责哪个模块"
 集合  JVM  框架



1.自我介绍,我介绍了自己的知识点,强调了JVM,数据结构,索引优化,RPC
2.问得我实习(我就各种扯,往爬虫扯,扯了老师讲的那些东西)
3.问了我hashmap(我得意的笑了笑),一直扯到数据库整表加锁(中间有一currentHashmap
什么时候对整表加锁,我忘了,但是他提示我一下,我就知道了size(),后面我给他说了原因,比如快速迭代问题)
4.后面问了我http,https区别,我就一顿乱扯,又问了我https怎么实现的,我就把老师给我们讲的Token的全过程描述了一遍,后面看他表现好像错了,我就在两个来回后抛出ssl问题,让他去解决(化解尴尬)。
5.问了我加密我懂得什么,MD5,又问了我对称加密和非对称加密(我不会),在周旋几句之后我抛出一个观点,MD5加密不可破解(聚了那个女教授的例子,可能观点错误,要的就是他指正我,至少五分钟过去了)。
6.问了我三次握手(我把网络传输,四次挥手都给他讲了)
7.问了设计模式,我给他说了代理,单例(讲了七个变种),工厂(讲了三种),后面阐述一下对设计模式的热爱,抛出六大设计原则。
8.问了AOP(我举了个例子,还有怎么配置,还有思想,好在哪里),又问里面怎么实现的,我讲了代理反射,抛出框架都需要代理,以及对spring的理解。
9.问了我dubbo内部传输(不会),就往他和hsf,jf扯,说了一些概念,说了项目改成dubbo成本高,我说我用的是restTemplate,我在docker实现了一些东西,包括那些中间件等等,后面面试官给我说了dubbo,还有jf(我没听下去,因为他说还有二面)
二面
等了好久二面老师来了,而且比较焦急,所以我知道他赶时间,应该是饭点
1.项目,主要问我第二个项目(我看视频两边,有准备一天虽然没做出来,应该是门清)
2.问了我hashmap,我这次烦了,一直说到数据库索引优化
3.后面忘了问的啥了,他给我说业务问题,我感觉没问题了
三面HR
一些比较低级的问题,谈薪资
——————————————————————————————————————
这里面有漏掉的东西,忘了,大致是这些,主要是面试技巧+技术储备+观察
祝愿每个同学都能找到一份好工作!祝愿老师工作顺利!
          




 集合:1、"List下的类",(LinkedList、ArrayList、vector)
     2、"哪些是线程安全的(vector),原因",(synchronized)。
    3、"LinkedList的查询的时间复杂度,与ArrayList的区别",(查询快的原因:数组的每个下标占用的空间是一样的,移动下标就是乘上空间的大小),LinkedList查找:从头节点一个一个往后去查,但是在增、删、改方面比ArrayList要快(ArrayList需要扩容,扩容就需要数组的复制)
    4、说说HashMap吧:就是散列表,先分桶,桶里是列表(数据结构:红黑树,算法:扰动函数)。
    5、HashMap的查找复杂度--这个要分情况了吧,HashMap首先要先分桶,桶里边是链表,
如果链表里就一个节点的话,则为O(1).如果是多个节点的话,为O(n)。

"你在学校里喜欢哪门课程":"数据结构和算法"
"你熟悉哪些算法":"快排,归并"
"说说快排的过程":"首先以第一个为基位,右边的比它小的与他交换位子,左边比他大的和上个交换位子,递归。其实我对十大经典算法都比较了解。"

JVM:"讲下分区吧","栈,堆,方法区"。
 1、"栈里都有哪些东西","基本数据类型,地址引用(不全面,应该再说下程序计数器,方法入栈和 出栈,再讲下栈帧,栈帧里有局部变量表,操作数,方法返回值)"
2、"GC在哪个区","堆"。
3、"说下堆的结构吧","eden,s0,s1,old"
4 什么是守护线程,在哪里用到。

不会的问题:第三种创建线程的方式(callable)。
Linux:查看线程死亡的命令,后面我补充了docker(但是我没有说具体的使用)。
Spring拦截器是在DispatcherServlet之前还是在此之后执行?(我没考虑这个问题,回·        了在此之前)

框架:
“你对Spring的了解”,回答的不清楚(不是他想要的结果)
"SpringMVC的配置",我讲了web.xml的内容,和spring-mvc.xml的配置(回答的不全面)
"讲下mybatis的标签",(就回答了几个,不标准,原因是好久没用了)

项目:
"你在做项目中遇到的难点","因为我是做Java开发的,前端的东西不是太了解,这个项目涉及到前端页面的制作,所以我自学了layui,还有就是数据的交换,自学了ajax"

非技术问题:"你认为你们班谁是最强的"
"你的兴趣是什么"


jsp中的Java类是怎么在双亲委派机制中加载的,用到了那几个。
GC中的年轻代为什么特别重要。
ssm的配置有哪几个。


 1、springMVC 你用过哪些注解?
2、JDBC中都有哪些异常?
3、jsp从后台接受到数据后怎么遍历?
4、jsp后台数据怎么从前端传到后端怎么接收?
5、分页sql怎么写?
6、单点登录怎么实现?
7、项目中你不知道哪里可能抛出异常了你怎么解决?
8、cpu和线程的关系?
9、if(i<5) 单元测试,需要断言几次?
10、10核cpu如果其中5核用了100%还有5核没怎么使用怎么办?
11、String.trim()会抛出异常么?
12、sql语句出现异常怎么办?
13、阿里巴巴java开发手册你都知道哪些规约?

1.说说你在学校做的项目?
2.你这个权限管理系统登录模块的怎么传的数据?(我说的通过ajax)他又问了一遍相同的问题。
3.sql分页
4.你知道的异常有哪些?什么情况会抛出空指针异常?
5.Jsp标签有哪些

1.单点登录原理及你是如何实现的?
2.项目中是如何实现的分页?请具体谈谈实现方法
3.面向过程和面向对象,那么谈谈两者的区别及具体概念。你对C语言有哪些认识?
4.抽象、继承、封装、多态,请具体说一说
5.Java集合框架中有哪些?请说一说ArrayList和LinkedList的区别,HashMap和HashTable的区别
6.你对异常的捕获和处理
7.JSP和Servlet之间的区别
8.过滤器和拦截器的一些问题
9.jQuery Ajax的常用方法
10.讲一讲IOC是什么以及它的原理
11.说一种常用的排序算法,它是如何实现的?
12.线程的实现方式,应该如何确定线程数量?为什么不是线程数越多越好?多线程写文件,磁盘、内存以及CPU谁先达到瓶颈?



原创粉丝点击