前言
作为程序员,免不了要经历面试这关,虽然平时工作勤勤恳恳,但是面试上面未必能展示的出来,比如平时都是做增删改查的业务系统,面试官非要问你如何处理高并发大数据,本来是写java代码,非要问你大型网站架构,这些问题防不胜防,本文就自己的面试经验来总结一下,抛砖引玉。
题库
最近阿里集团代码开发规约又一次火爆朋友圈,其实进来了才能体会到开发规约插件的好处,所以这里总结了一下面试官常问的问题,被问到了就大赚,希望大家能来杭州和北京一起工作!
这是本人面试了三年得到的面试题库:
HashMap 源码解读(TreeMap. LinkedHashMap)
hashmap 允许 空值 和 空key, 非线程安全的,不保证存储顺序
初始容量 和 负载因子)
结构化改变,增加或者删除必须是同步的, 单纯的改变值不需要同步
获取遍历器的时候,多线程的结构的改变,不是通过遍历器的remove方法的结构改变,都是在遍历器的时候 抛出异常,但是这个不能保证,只能是测试使用
根据hashcode排序,相同comparable的根据comparable排序
treeNode是正常节点的2倍 .
树节点往往是根节点, i才可能不是根节点,但是可以根据恢复
容量必须是2的倍数,默认为16,最大为2^30
一个桶的元素>=8 就从list 变为 tree,<=6就从tree变为list
桶数量到64的时候里面的桶才会被树形化
4*8的元素在同一个节点的时候,会被重新更新size大小
hashBinNode hashCode是key和value的异或
heap 和 stack 的区别
stack: 先进后出
函数调用栈,有结构,查询快,线程独占的,存储引用和基本类型
heap:
先进先出,没有结构,查询慢,线程共享的,存储数值,等待垃圾回收
方法区, 存储static唯一变量, 被所有线程共享
http://image.beekka.com/blog/201311/bg2013112905.jpg
java基础
基本类型: byte short int double float long boolean char
快速排序:
nk?url=pqzkGbx5-idKz3_VJ1FtAS2O3SJZhsNWset3-0Tcme_d1XlFErKA50VexUcLCxW46cD8VaxhoQHkiHX6-4sJrYbP5aj77RiCCHd09uJQR0_NQoLMTwS6vxTrC-6Ti-ZDJquSjF3VoUzm9Cnoq3blGK
单例模式(单例三个)
方法4
枚举实现单例模式:
StringBuffer 线程安全和 StringBuilder非线程安全
Builder 设计模式
适配器模式(比如实体类装换):
Composite组合模式: 树形
Observer观察者模式: 区别对待观察者, java默认的观察者接口
装饰器模式(装饰器和被装饰对象接口相同):
桥接模式:
短信邮件 发送 紧急消息, 普通消息, 进行桥接
责任链模式:
Shiro的权限框架
Iterator 模式:
自己写的分段List,Set迭代器
Command 命令模式:
策略模式:
工厂方法:导出不同格式的文件
一个产品的时候, 返回不同的工厂
抽象工厂:不同格式的文件,前 缀也不同
多个产品,返回不同的工厂
代理模式:
java 动态代理
状态模式:
Spring 状态框架
JVM 垃圾回收算法:
计数器法, 标记清除, 标记整理, copy 算法 (对象区和空闲区互相换),
java中可作为GC Root的对象有
1.虚拟机栈中引用的对象(本地变量表)
2.方法区中静态属性引用的对象
3. 方法区中常量引用的对象
4.本地方法栈中引用的对象(Native对象)
分代算法:
年轻代,年老代, 永久代
类加载机制:
AOP:
依赖注入:
排序算法(jdk sort):
ln A B B是链接, A是实质文件
java内存模型:(调试工具)
tomcat调优:
jvm参数, 连接数, 线程数,缓冲池,数据库连接池
自旋锁:
@transanal
数据结构:
树形遍历:
堆排序:
AVL:
红黑树:
B-树:
乐观锁和悲观锁(CAS):
版本号和时间戳实现乐观锁
Volatile 原理:
JVM 卡顿调优:
-Xincgc
开启增量gc(默认为关闭);这有助于减少长时间GC时应用程序出现的停顿;但由于可能和应用程序并发执行,所以会降低CPU对应用的处理能力
java 8:
分布式锁: 略
ConcurrentHashMap:略
TreeMap:
java发现死锁:
jstack -l pid 列举出线程
线程状态:
java.lang.T
线程池:
kafka 和 redis
http:三次握手
负载均衡, 断路器, 服务注册原理
Spring 循环依赖:
Spring cache
链接
其他
应聘阿里系请将简历发送到如下邮箱:
wwh144953@an
原文链接: