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

互联网公司面试问题总结之设计模式和数据库

2016-10-14 13:58 627 查看
一、设计模式
1、进程请求资源死锁,如何在编程上防止死锁?

2、手写singleton。如何避免多线程同步问题?

3、实现一个singleton的基类,令其派生类都是singleton?(
利用template )

4、常用设计模式,UML图

5、知道的设计模式有哪些,区别

6、手写观察者模式(语言任意选)

7、(1)手写生产者消费者模式

    (2)生产者模式和消费者模式怎么实现

8 、JDK中哪些体现了命令模式?线程池使用了什么设计模式

9、 servlet是单例么?

10、.单例模式:

(1)单例模式
double check

(2)单例模式(选取你认为最好的版本,我选择了内部类写法)

(3)写一个单例模式。我写的是静态内部类的单例,然后他问我这个地方为什么用private,这儿为啥用static,这就考察你的基本功啦

(4)单例模式都有什么,都是否线程安全,怎么改进(从synchronized  到 双重检验锁 到 枚举
Enum)

11、说一下知道的设计模式,生产者消费者模式如何实现?

12、 高内聚,低耦合方面的理解

13、常用的设计模式,用一个设计模式写一段代码或画出一个设计模式的UML

14、 设计模式:单例、工厂、适配器、责任链、观察者等等。

15、设计模式的六大原则

 
 
二、数据库

1、数据库索引;数据库索引的实现方式

2、项目中有没有用到数据库?对数据库了解多少?

3、谈一谈数据库的3个范式

sql一二三范式

4、有没有用到其他的开源数据库

5、数据库了解么?事物的四个原则?索引是如何事项的。

6、聚簇索引
和 非聚簇索引的区别
。下面贴一下核心内容:

建立索引: 在SQL语言中,建立聚簇索引使用CREATE INDEX语句,格式为:CREATE
CLUSTER INDEX index_name ON     table_name(column_name1,column_name2,...);

存储特点:

聚集索引:表数据按照索引的顺序来存储的,也就是说索引项的顺序与表中记录的物理顺序一致。对于聚集索引,叶子结点即存储了真实的数据 行,不再有另外单独的数据页。 在一张表上最多只能创建一个聚集索引,因为真实数据的物理顺序只能有一种。

 非聚集索引 : 表数据存储顺序与索引顺序无关。对于非聚集索引,叶结点包含索引字段值及指向数据页数据行的逻辑指针,其行数量与数据表行数据量一致。

7、谈一谈对数据库事务的理解。四个特性和隔离级别必须要牢记,了解事务并发控制带来的问题:脏读、不可重复读、丢失修改、幻读等等

8、mysql
熟悉吗?知道间隙锁吗? .

9、数据库事务的四个隔离级别,MySql在哪一个级别

10、数据库的acid:  原子性、一致性、隔离性、永久性

11、给你一个表只有一列name~~有重复的name,
然后求出前十个name数最大的:select name,count(name) from table group by count(name) desc limit 10

12、抛出一个场景问你选用NoSQL还是关系数据库(就是点阵图片的存储,(x,y,z)存储)

13、数据库的索引有什么用,带来的问题是什么

14、(1)数据库事务隔离级别

  (2)数据库连接池的原理

(3)乐观锁和悲观锁

(4)如何实现不同数据库的数据查询分页

(5)SQL注入的原理,如何预防

(6)数据库索引的实现(B+树介绍、和B树、R树区别)

(7)SQL性能优化

(8)数据库索引的优缺点以及什么时候数据库索引失效

(9)Redis的存储结构

15、数据库的事务管理级别,默认什么级别,会出现哪些问题
        四个级别,默认我说是读已提交,但是其实MYSQL的默认应该是可重复读,这个我也是回来才发现的。然后就说了默认读已提交会出现不可重复读和幻读。

16、数据库事物,什么是事物,什么情况下会用到事物,举例说明

17、InnodB,MyISAM区别

18、索引类型(全文索引),底层实现(B+树),什么情况下索引会失效。

19、数据库从左到右原则。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐