今天面试 主要是经过了四轮 三轮技术面 一轮hr面
第一轮技术面是最详细 耗时的 问的最多
1.crontab的基本使用
主要是写几个例子,
问题是当在脚本执行前机器挂了 等过了时间后机器好了 怎么让脚本再重新执行 anacron
2.一些常见的nginx错误码
注意502 504的区别 还有503的意义 最好准备一些不常见但是知道的错误码比如499
503 service unviliable
Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的php-cgi。引起这样的问题大多数情况主要是提交给php-fpm的请求未能正确反馈而导致。
Nginx 502 Bad Gateway的含义是请求的php-cgi已经执行,但是由于某种原因没有执行完毕而导致php-cgi进程终止。php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉,都会出现502错误。
3.redis的五种常见的数据结构
string hash list set zset 主要是结合业务场景聊一下
4.如果自己写一个框架 需要封装一些什么
注意 mvc 可以举例说 log,route,cache,db,exception
5.mysql优化要注意什么
一方面是从写sql语句上 一方面从数据库架上面的设计
6.mysql索引的使用
索引的结构,今天主要是给了几个sql以及定义好的索引 来区分是否用到索引和用到那些索引
table test 索引 a_b_c
sql1:select a from test where a=1 and b=1 and c=1
sql2:select d from test where a=1 and b=1 and c=1
sql3: select a from test where a=1 and b>2 and c=3
sql4 : select a from test where a!=1 and b=2 and c=3
7.一些复杂sql的写法
8.linux 777 775 的含义
read write execute
user group other
9.文件日志的检索 注意区分是否是大的日志文件
10.斐波那伽数列算法
要注意递归类的算法 用循环怎么实现 还有尾递归
第二轮面试
1.部分是根据简历上面的东西来问 mysql redis es 等等
2.算法题是一个递归
3.php数组,字符串以及经常用到的函数多背几个 要注意一些特性
今天问的array_merge和加号的区别 以及注意merge的特性!
在PHP中可以使用array_merge函数和两个数组相加array+array的方式进行数组合并,但两者效果并不相同,下面为大家介绍两者具体的使用区别.
区别如下:
当下标为数值时,array_merge()不会覆盖掉原来的值,但array+array合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(不是覆盖).
当下标为字符时,array+array仍然把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉,但array_merge()此时会覆盖掉前面相同键名的值.
4.基本的一些redis数据结构
5.还有面试php的时候要注意php7的一些新特性
6.单例模式
7.mysql explain 都显示什么字段以及对应的意义
8.mysql int tinyint等字段的长度 意义等
第三轮面试
三面就两个问题
一个是冒泡排序
一个是设计一个亿级别用户的实时排行榜
总结下来看 一方面是基础知识的掌握 一方面是简历上面的业务一定一定要都能说明白