您的位置:首页 > 职场人生

美图java系统研发工程师面试经历

2015-05-31 21:26 591 查看
1、mysql索引原理

作用

实现 用到指针,模式类似书本的目录结构

什时候需要?

无序字段的搜索。有序的时候利用二分,可以有log2N的效率。

类型

hash索引、全文索引、B-Tree,B+Tree

聚簇索引 叶节点就是数据节点。与物理顺序有关,一张表只能建一个

非聚簇索引 叶节点仍然是索引节点。 重复值多,字段更新少

数据结构

简单的可以使用二叉树来实现,查找效率是log2N

目前大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构

http://blog.jobbole.com/24006/

副作用

http://blog.csdn.net/iefreer/article/details/15815455
MySQL常见存储引擎 MyISAM,InnoDB

2、垃圾回收机制

原理 空闲时不定时回收没有引用的对象对应的空间。

算法 Mark-Sweep(标记-清除)算法、.Copying(复制)算法、Mark-Compact(标记-整理)算法、Generational
Collection(分代收集)算法


垃圾收集器

Serial/Serial Old、ParNew、Parallel
Scavenge、CMS、G1


http://www.cnblogs.com/dolphin0520/p/3783345.html

java内存区域划分 http://www.cnblogs.com/hnrainll/archive/2013/11/06/3410042.html

3、并发编程编写的注意事项

线程安全

volatile变量

某些耗时较长的网络操作或IO, 确保执行时, 不要占有锁.

http://www.open-open.com/lib/view/open1393167590583.html



延迟加载 作用:提高性能

当在真正需要数据的时候,才真正执行数据加载操作

http://www.cnblogs.com/davidwang456/p/4071607.html

延迟加载单例模式 http://www.lai18.com/content/1681579.html

线程安全,无状态和有状态的概念 无状态即没有实例对象

http://blog.csdn.net/aaa1117a8w5s6d/article/details/8295439



线程池 http://blog.csdn.net/oyangyujun/article/details/41156221
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: