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

         

    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://blog.csdn.net/vltic/article/details/7099967


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

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

              

              线程池    http://blog.csdn.net/oyangyujun/article/details/41156221



     

            

                

猜你喜欢

转载自blog.csdn.net/wzwdcld/article/details/46289429