面试题总结

算法思维

  1. 简述归并排序
    归并排序是一个使用分治策略来对乱序数组进行排序的算法,使用的思想是将乱序数组不断切割分解成若干个数,再通过对切割的数组进行比较,从新合并成一个有序数组额做法。排序的时间复杂度稳定。
  2. 简述快速排序
    快速排序使用的思想也是分治,以一个数为基准,让所有数进行比对,之后进行分类,比基准小的放一边,比基准大的放一边,不断对此基准两边的数组另取基准,不停重复上述动作,完成排序。算法的核心思想就是与基准做比较。算法的时间复杂度不稳定,最差为O(n^2),最好为O(NlgN)。
  3. 快速排序尽量避免最高时间复杂度的做法
    随机获取基准来排序,达到避免算法形成最坏情况
  4. 快速排序和归并排序的区别
    快速排序是使用一个基准来分治,而归并排序则不需要基准,无论乱序数组是什么情况,排序的时间复杂度永远一样。
  5. 如何检验是否有环路
    快慢指针
  6. 如果有一个文件非常巨大,有5G那么大,我怎么读取倒数五行
    通过指针,读到文件末尾,然后往前数结束符号,数6个,从这个换行符往前一步读取,就是倒数五行,其他方式速度过慢还带有大量IO读写,不适合解决这个问题。

数据库

  1. 简单地数据库语句考核
  2. 如果数据库中因为意外,插入了重复的数据,如何删除(加深:如何干掉id比较小的数据)
  3. 如何查询数据库语句的执行计划
  4. 数据库简单地优化

PHP

  1. 列举PHP的框架
    CI,TP,laravel,YII,symfony等,这几种框架都是使用MVC架构,如果能列举多几种并且能简述框架的特点,基础知识比较扎实
  2. 考查PHP的基础知识
  3. nginx和Apache的在路由跳转规则的设置上有什么不同
    apache可以直接在项目文件夹下写跳转规则,nginx则需要在nginx的配置文件下查找
  4. 列举至少5个php.ini配置,并说明用途

Linux

  1. wc有什么作用
  2. 如果更改一整个文件夹的权限,假设文件夹名字是test
    chmod -R
  3. chmod中的777代表什么意思
    一个7代表的是二进制中的111,从左往右,第一个1代表的是读取权限,第二个1代表的是写入权限,第三个1代表的是执行权限。而777中的三个七,从左往右,分别代表了,文件拥有者的权限、文件拥有者所在群组的权限、其他人的权限。
  4. 如何查看防火墙状态,并添加一条阻止ip为172.16.111.1的用户访问
    service iptables status
    -I INPUT -s 172.16.111.1 -j DROP

你可能感兴趣的:(面试题总结)