前几天就想写个总结,无奈各种原因没有写成,作为一个刚入行的菜鸟,一出来就到处碰壁,究其原因还是知识体系不够全面,整理一下近期自己在各个公司的面试题目,以供大家参考(知识点不分先后,全凭记忆)。
JAVA基础部分:
Java语言的特点
面向过程和面向对象
基本数据类型、引用数据类型,以及他们直接的转换,自转和强转
switch语句支持的数据类型
Java三大特性,多态的实现机制
什么时候用有序数组和无序数组
==、equals以及hashcode的区别
常见的IO流
socket网络编程的实现流程,有哪些常用的类
反射,包括反射的优缺点,什么情况下使用反射举例说明
创建线程的三种方式以及他们之间的区别
进程和线程的区别,多线程、多进程和多任务的区别
线程的同步实现方法
死锁产生的原因
线程的终止方式
如果有10万的并发量怎么处理
string、StringBuffer、StringBuilder的区别
集合一般问的比较多,总的来说一般先问你知道的集合框架和他们的子类,然后再一个个知识点深入问,常见的知识点有:
他们各自的原理,如List是数组结构,数组是固定长度的,为什么List能自动扩容
Vector、ArrayList以及LinkList的区别
HashMap和HashTable的区别,以及他们的底层实现原理
Collection和collections的区别
数据库部分:
索引算法以及他们的底层实现
数据量大的时候如何减小MySQL的压力
内连接和外连接的区别(显示结果有什么不同)
MySQL中常用的函数
怎样不显示重复数据,怎么删除重复数据
怎么实现分页,怎么实现分库分表
MySQL和Redis的区别
Redis的五种数据结构
框架部分:
spring IOC 和 AOP
spring bean的加载过程
springMVC的实现流程(工作原理)
springMVC连接前端的方式
springMVC中常用的注解
Mybatis怎么连接数据库(这部分老觉得他们问的很奇怪,很细,各种小细节)
Mybatis连接数据库时出现数据库死锁怎么办,原因以及解决办法
其他:
远程通信方法
常用的服务器,tomcat是怎么部署项目的
八大排序(我遇到的是问的堆排序)
设计模式,问单例比较多
重定向和forward的区别
cookie和session
request和response
消息队列图?
udp协议和tup协议的区别
三次握手还有一些网络知识
前端基本知识随机问(有些不会不知道它问的什么想不起来了)
暂时想起来的就这些了,想起来再补充吧,因为还在刚出来找实习的阶段自己又比较菜,问的大部分都是知识点,有些公司也会问项目,看他对你的项目感不感兴趣吧。总的来说问的都很细,必须有较深的研究才能更好的回答出来。。。