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

2016某知名互联网公司PHP面试题及答案(续)

2016-09-27 20:51 871 查看
1 写出mysql中,插入数据,读出数据,更新数据的语句

INSERT INTO 表名 VALUES (””,””);

SELECT * FROM 表名;。

UPDATE 表名 SET 字段名1=’a’,字段名2=’b’ WHERE 字段名3=’c’;。

2 写入数据时,聚簇索引所在的列的内容是随机的,会引起什么性能问题?

聚簇索引情况下,写入数据时,插入速度严重依赖插入顺序,按照主键的顺序插入是加载数据到InnoDB表中速度最快的方式。但如果不是按照主键顺序加载数据,那么在加载完成后最好使用OPTIMIZE TABLE命令重新组织一下表。

基于聚簇索引的表在插入新行,或者主键被更新导致需要移动行的时候,可能面临“页分裂”的问题。当行的主键值要求必须将这一行插入到某个已满的页中时,存储引擎会将该页分裂成两个页面来容纳该行,这就是一次分裂操作。页分裂会导致表占用更多的磁盘空间。

聚簇索引可能导致全表扫描变慢,尤其是行比较稀疏,或者由于页分裂导致数据存储不连续的时候。

3 请描述一下mysql主从服务器之间是如何同步数据的,什么样的sql会造成主从无法正确同步?

4 如何查看当前linux服务器的磁盘io状态?

iostat -x -k

5 如何查看linux服务器的cpu负载

top(top程序提供了一个动态的、实时的、直观的运行中的系统。它能显示系统的主要信息,并且把由内核管理的任务列表显示出来。top命令监控CPU利用率,进程状态和内存利用率。顶部区域包含了整个系统状态的信息,从左到右,从上到下,依次是:当前时间,正常运行时间,负载均衡,进程总数和概况,CPU状态,内存占用情况,swap占用情况。)

mpstat/sar/….

6 如何查看一个进程当前打开的文件?

查看所有进程的文件打开数

lsof |wc -l

查看某个进程打开的文件数

lsof -p pid |wc -l

7 什么是管道命令?

其实这个管道命令“|”仅能处理经由前面一个命令传来的正确信息,也就是standard output的信息,对于stdandard error并没有直接处理能力。在每个管道后面接的第一个数据必定是“命令”,而且这个命令必须要能够接受standard input的数据才行,这样的命令才可以是“管道命令”,例如Less、more、head、tail等都是可以接收standard input的管道命令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: