标签:安全 count aop 队列 循环数组 for循环 空间复杂度 优缺点 三维
把最近一个月的面试经历总结一下吧。期间有面试大数据和java,以下主要针对java大概总结一下。
1.手写链表反转、二分查找(有序循环数组 4 5 1 2 3)
2.mysql索引,哪些地方影响性能?
3.jdk1.8 hashmap 的变化? 数组+树,数组加表 空间复杂度
4.hashmap的结构优化?
5.concurrenthashmap机制?
6.hbase,为什么要有列族?
7.rabbitmq、redis相关?
8.公司项目架构(我把自己负责的模块讲了)
9.spark rdd?
10.内存模型,内存管理,GC?
11.js创建对象的方式(用的不多)
12.数据库引擎,索引,哪些地方涉及到io,怎么优化?
13.设计清理机制,redis设置过期的值,如何清理?
14.redis存储类型?
15.springmvc的执行过程,mybatis二级缓存,缓存机制?
16.zookeeper选举机制?
17.spring core有哪些组件?
18.数据库隔离机制 脏读 幻读?
19.锁机制?
20.synchronized(排序)与lock(不排序,吞吐量大)的区别?
21.volatile 可见性?
22.多线程实现方法,构造方法参数
1.自我介绍
2.画出最熟悉项目的架构图 讲一下流程
3.根据流程问细节实现
4.并发安全实现的几种方式 你在工作中的实现场景
5.java的同步机制
6.synchronized
7.Object方法中的方法
8.ThreadLocal机制
9.一个类里static方法和普通方法都用synchronized修饰会发生什么
10.并发下hashmap死锁问题如何解决
11.Hashtable替换HashMap
12.Collections.synchronizedMap将HashMap包装起来
13.ConcurrentHashMap替换HashMap
14.jvm内存模型 jvm如何处理String str = new String(“abc”)
15.gc的机制和算法 (何时触发full gc等)
16.一谈最近看过的技术书籍
17.服务器/数据库高并发/高可用解决方案
18.讲一下一次典型写操作的流程 创建几个类 如何提升mysql 写操作的最大并发量
19.查询的优化
20.如何保证高访问量下读写数据的一致
21.创建表时要注意的事项 什么时候需要冗余设计
22.哪些字段要建索引 同一张表建多个索引的优缺点
23.你研究过最难的算法是哪个
24.Nginx里正则的使用
25.Springmvc里面都有什么注解 spring aop底层用什么实现
26.动态代理,反射
27.http状态码302 代表什么
28.cookie请求头包含哪些内容
29.不用session如何保存用户数据
30.单例为什么需要双重检查
31.js对象的种类 js如何实现map结构
总结:连续3轮面试 无笔试 对于有工作经验的会问细节 具体到代码实现
1.栅栏(cyclic),闭锁\递减锁(countdownlatch)
2.多线程,5种状态,多线程方法参数(核心线程池数量、最大数量、超时时间、时间单位、拒绝服务器助手(handler,队列))
3.hashmap源码,参数
4.空间复杂度、时间复杂度
5.两个线程,分别输出1,2。如何实现1,2,1,2,1,2,.....交换输出
6.二分查询,返回下标,
7.快速排序
8.数据库,索引,
9.flume 与 storm的区别
10.redis如何存set\list等值
11.volatile作用
12.悲观锁,乐观锁什么情境下用
13.如何实现秒杀
14.三维数组赋值,三层for循环,用一个循环?
15.linux查询某一个文件的IP
16.查找目录下的所有文件中是否含有某个字符串
17.linux通过关键词查询 命令 xiaomi.com
18.输出日志的最后5行 tail -f 5 ./log
最后总结:以上列举三家公司面试情况(两年工作经验),面试问题大同小异,换汤不换药。面试时间一般在2个小时左右,我经历最长的一次是3个半小时。面试一般是三轮(两轮技术面,一轮HR面),经历最多的面试是四轮(三轮技术面,一轮HR面)。大公司更注重基础,比如:数据结构、算法、索引、JVM、优化等,小公司更偏重应用,比如:Spring、struts2、mybatis、数据库等的使用。
标签:安全 count aop 队列 循环数组 for循环 空间复杂度 优缺点 三维
原文地址:http://www.cnblogs.com/wu-cai/p/7862829.html