java工程师基础知识面试
2017-07-19 23:43
190 查看
最近思考到的初(中)级java开发工程师基础知识可以考察的点,理论,实践都有涉及。个人理解并不是要这些点都掌握才算合格的java工程师,面试的时候也不是要全问一通,抽取一些组合提问都合理。只是列出这些点,暂时没有准备问题的答案
jdk1.8以前,单线程环境下字符串拼接用什么合适,StringBuilder,为什么
hashCode方法的作用,重写hashCode方法注意什么点
equal方法的作用,重写equal方法注意什么点
java对象引用的理解,对象深/浅拷贝
Lock/condition可以,使用synchronized-wait/notify也可以。 线程池的简单使用,参数设置
violate的作用,解决什么问题,基本原理;提及一个常用场景,提示 AtomicInteger内部的实现,线程启动停止位
ThreadLocal的作用,有什么好处,基本原理;提及一个常用场景
简述currentHashMap的结构,认识
gc的作用,触发gc的时机,副作用
java的线程模型,用户级线程还是内核级线程,什么比例关系,线程栈中保存什么,和公共堆中数据的交互
查看JVM运行状态的几个常用命令,jstat, jstack, jmap, 简单说说了解
简述java动态代理是怎么实现的
简述java类加载器,双亲代理,这样的好处
快速排序,实现,时间复杂度
二叉树,二叉树中序遍历,实现,时间复杂度
数组的循环队列,实现
优先队列(大顶堆),简述低层数据结构,插入删除逻辑,时间复杂度
两个数组求并较差,最初级的两层循环,学会使用set降低时间复杂度
简易的bitmap
hashmap的简单实现原理,填装因子,基于链表的碰撞检测,扩容,rehash
查询某个课程所有选课的学生
插叙某个课程所有几个的学生
查询一个学生的所有课程的分数
建立索引有什么需要注意的点
索引怎么和数据库中的数据结构对应起来
什么时候垂直分表,什么时候水平分表
数据库集群环境下,写后读,如果不在是事务中,会有什么影响
wc
tail
sort uniq
sed awk
top
ps
less vim cat
access.log日志中,查询某个ip的请求次数;请求次数最多的10个ip,找出请求最多的一个小时
服务端建立socket(tcp)链接写法,客户端建立socket(tcp)链接写法
udp和tcp的区别
说说http协议和tcp协议之间的关系
观察者
状态机
装饰模式
java语言基础知识
1个char类型数据占几个字节jdk1.8以前,单线程环境下字符串拼接用什么合适,StringBuilder,为什么
hashCode方法的作用,重写hashCode方法注意什么点
equal方法的作用,重写equal方法注意什么点
java对象引用的理解,对象深/浅拷贝
并发知识考察
单个java程序中,多线程之间实现一个 等待/通知模型,使用Lock/condition可以,使用synchronized-wait/notify也可以。 线程池的简单使用,参数设置
violate的作用,解决什么问题,基本原理;提及一个常用场景,提示 AtomicInteger内部的实现,线程启动停止位
ThreadLocal的作用,有什么好处,基本原理;提及一个常用场景
简述currentHashMap的结构,认识
JVM基础知识
简述JVM中的内存空间布局,新生代,老年代,新创建的一个对象的生命周期gc的作用,触发gc的时机,副作用
java的线程模型,用户级线程还是内核级线程,什么比例关系,线程栈中保存什么,和公共堆中数据的交互
查看JVM运行状态的几个常用命令,jstat, jstack, jmap, 简单说说了解
java进阶问题
简述java泛型,是怎么个实现方式,和object类型比有什么优势简述java动态代理是怎么实现的
简述java类加载器,双亲代理,这样的好处
基础数据结构&基础算法
二分查找,实现,时间复杂度快速排序,实现,时间复杂度
二叉树,二叉树中序遍历,实现,时间复杂度
数组的循环队列,实现
优先队列(大顶堆),简述低层数据结构,插入删除逻辑,时间复杂度
两个数组求并较差,最初级的两层循环,学会使用set降低时间复杂度
简易的bitmap
hashmap的简单实现原理,填装因子,基于链表的碰撞检测,扩容,rehash
数据库(Mysql在InnoDB下)
创建选课系统相关表(tb_student, tb_course, tb_student_course, tb_student_score)查询某个课程所有选课的学生
插叙某个课程所有几个的学生
查询一个学生的所有课程的分数
建立索引有什么需要注意的点
索引怎么和数据库中的数据结构对应起来
什么时候垂直分表,什么时候水平分表
数据库集群环境下,写后读,如果不在是事务中,会有什么影响
Linux常用命令
grepwc
tail
sort uniq
sed awk
top
ps
less vim cat
access.log日志中,查询某个ip的请求次数;请求次数最多的10个ip,找出请求最多的一个小时
网络原理
tcp建立链接和断开链接服务端建立socket(tcp)链接写法,客户端建立socket(tcp)链接写法
udp和tcp的区别
说说http协议和tcp协议之间的关系
常用设计模式
生产者-消费者观察者
状态机
装饰模式
相关文章推荐
- 《Android中高级工程师面试指南 — 基础知识 — Activity》
- 2017最新Java基础知识面试笔试整理--jvm基础篇
- java面试常见基础知识点(一)
- java面试基础知识(二)
- Java - 面试 - 基础知识 4
- JAVA 面试基础试题(大家可以参考一下学Java时需要掌握的基础知识)
- 【Java面试】基础知识篇
- java面试资料-基础知识
- java基础知识强化51:Java程序员面试失败的5大原因
- 互联网公司面试问题总结之java基础知识
- java面试基础知识
- [Java面试三]JavaWeb基础知识总结.
- 一些基础的面试的java知识,普及下。开发和测试都用得到。
- Java - 面试 - 基础知识 5
- 准备Java面试之Java SE基础知识——问题篇
- Java开发工程师面试基础点(整理)
- java面试基础知识
- JAVA程序员面试基础知识
- Java工程师应该掌握的相关知识(基础篇01)
- 【Java面试】1、基础知识篇