360后台PHP开发面经
楼主是8月份走的360内推,然后过了,虽然水水的,但还是写一篇面经回报牛客网吧
一面:
1.以自我介绍开始(找工作以来,已经不知道自我介绍了多少遍)
2.手写单例设计模式(基础问题,好开心)
3.介绍一下PHP面向对象和java面向对象的不同
4.PHP类里面的三个指针(懵逼,其实就是问self this 类名这三个的使用)
5.OSI网络分层,三次握手
6.输入一个域名,到得到页面的过程(其实就是计算机网络每层做了什么,又以LAMP为例说了一下服务器端的解析过程)
7.数据库innodb引擎和myisam引擎的区别
8.redis实习的时候是怎么用的
9.项目中怎么做的中文检索,回答使用结巴分词+mysql模糊查询(面试官表示数据量小还可以,如果数据量大呢,回答的加上redis缓存,或者使用apache基金会的solr之类的,蒙混过关)
10.好像还问看你用过hadoop,掌握程度怎么样(恰好本来准备论文用的,研究了一下机制,回答的还可以)
11.说一下mapreduce的过程
12.有没有什么代码爱好(脑残回答了喜欢写shell自动化脚本)
13.删除某一指定用户名的进程(忘记pkil了,用awk+ps写的,还好过关)
14.hadoop的hdfs是怎么存储数据的,hadoop分那哪几部分(他知道的是hadoop 1.X的,我说的事2.6.0的,略尴尬)
15.对360印象如何,脑残亮点在此(回答了你们的搜索、浏览器、输入法都不错,旁边的同学笑喷,哪里来的输入法)
二面:(面试官很套路,问题吧都不直接问,拐着弯问,绕的我好辛苦)
1.数据库的索引设计(又是最左前缀)
2.sql查询,and之类的语句索引的顺序影响索引使用吗(不影响,and语句中mysql自己会优化,符合最左前缀就ok了)
3.问如果不使用http,让你自己设计客户端和服务器端如何传递表单数据(表示不懂什么意思,最后回答了按指定格式封装,然后socket通信,面试官竟然没说不行)
4.忘记问题是什么了,反正是个认证之类的,开始没有懂什么意思。后来明白了就是想问session和cookie,然后回答了,顺利过关
5.mem***用过吗,回答没有,然后说用过redis,稍微问了一下。
6.如果用户的请求一直在服务端丢失,排查一下什么情况(从cpu占用率,内存占用率,io,服务器状态,日志查询上回答的,顺便介绍了一下几个用到的linux命令,比较坑的是非要问我top按内存排序是M还是m,之后承认平时都是man一下,没背过)
7.介绍一下你们为什么做云计算虚拟化用KVM,其他方案调研过吗(早就调研过,引经据典,完美回答),告诉我他们用的是xen的解决方案,然后我问他们用的是openstack管理还是买服务。
8.mysql隔离级别和默认的是哪个。
9.怎么用hadoop+hive做的日志分析(详细介绍了一下)
HR面:
人生、理想
啦啦啦
最后加了小姐姐的微信。
又接到另一个部门的电话(记得好像是创新事业部来),好像是不冲突,不过面的很尴尬,还好也过了。
一面:
1.请求失败,服务端怎么排查(CPU,memory,io,数据库慢查询等,我也只知道这些)
2.mysql的inndob介绍一下
3.innodb什么时候可以用到索引,innodb索引与myisam索引区别(聚集、非聚集),inndob引擎使用非主键索引的检索过程(先查到主键呗),innodb索引的数据结构(B树),为什么B树不红黑(正好研究过,从树深度和计算机磁盘io消耗和局部性原则上扯了扯,成功装逼成功)
4.redis怎么使用的,redis数据结构用过哪些
5.你的日志处理shell预处理阶段怎么做的
6.你的日志处理可以显示实时数据吗,不行(阿里也问了这个问题,只有实话实说了),不过考虑过用kafka之类的做,然后说了说思路。
7.又是输入一个域名到显示出页面的整个过程
8.观察者设计模式(好像是有来,记不清了)
二面:(感觉全程问我怎么推荐,我怎么知道)
1.怎么统计模块的热度
2.怎么为用户有效推荐视频,提高访问量(实验室有做大数据的,根据听来的名词说了几句)
3.10000条数据可能只有100条被经常访问了,怎么挖掘其余的价值(回答了根据用户画像,推送,瞎蒙的)
4.说一下贝叶斯公式(也是醉了,就把本科学的全概率和贝叶斯回忆了一下,强调了一下我是做后台开发的)
5.还有一些记不清了
面完收到了二面官短信,给推荐了两本书,一本高并发一本推荐的(内心充满感激,对360面试官的好感度升级一大截),但是当时认为这是好人卡了,结果不是。
HR面:
HR是一个小姑娘,开车很快,不方便说了。
总的来说感觉360问的很全面,从数据库到基本知识到项目等等,数据结构和算法问的相对少一点(恰好我也不太会),面试官人很不错,就是面试弄得有点乱。