面试-经历

作者: czcphp | 来源:发表于2019-07-03 19:17 被阅读0次

    360奇安(本公司) 天擎部门面试:
    问题所在:
    问题:1、redis的sentinel上投票选举的问题
    2、脑裂问题怎么处理
    3、php导出,如果存在把内存打爆,怎么处理的
    4、你觉得PHP相对比JAVA或者GO有什么异同
    5、说说你在项目上有什么出色的表现? 我的说是我用时间切分进行算法上数据的调优
    6、对于你们这个架构你觉得还有什么可以优化的
    7、redis单线程结构有什么优势?有什么问题? 主要优势单线程,避免线程切换产生静态消耗,缺点是容易阻塞,虽然redis使用io复用epoll和输入缓冲区把命令按照队列先进先出输入等等
    8、你觉得针对redis这些缺点那些命令在redis上不可使用? 比如keys、hgetall等等这些命令 建议用scan等等 这方面阐述
    9、你觉得为什么项目中没有用mysql而用了es,redis在这里到底起到了什么作用?因为架构上这里理解不清楚,最后回答自己都觉得有漏洞了
    10、你觉得redis什么算有用? 有用? 是说存进去了还是说命中缓存?最后把缓存命中率是什么说了一遍
    11、看你上面写的开始学习go,你说说GO这边组合模式用PHP是怎么实现的? 组合....我都没学到
    12、如果产品这里在你导出大文件的情况下,太占资源,你该怎么办? 断点续传

    深信服
    1 如果打开页面慢的话,怎么排查
    2 怎么实现商城的商品推荐系统
    3 sql语句 求一个成绩表中分数超过60的人的科目
    4 innodb和myisam有什么区别
    5 反转字符串
    6 php的date参数
    7 mysql的注入,怎么处理
    8 平常在公司都处理什么工作的
    9 一个sql语句不使用大于小于号中确定范围[ 60,80]
    11 include和require区别
    12 ===和==区别
    13 date函数怎么插入上周时间

    作业帮:
    1、三次握手、四次挥手,为什么time_wait,2MSL具体多长时间
    2、B+树和B树,联合索引等原理
    3、自己项目数据库表是怎么样子的
    4、一般项目PHP起几个进程
    5、项目上线后有几个PHP服务器,单服务器出故障怎么处理 计算、存储、业务
    6、网站打开慢了,你自己怎么处理
    7、WAF有几台机器
    8、你这个千万级别数据怎么处理的,分库分表?
    9、PHP弱语言类型怎么实现的
    10、PHP和JAVA区别
    11、你们这边redis集群是怎么样子的
    12、怎么查看CPU负载,怎么查看一个客户下有多少进程
    13、怎么将Kafka数据导入数据库
    总结一下:狂怼项目,对项目中细节都问的特别细,简称深入灵魂的拷问

    顺丰
    一面:
    1、狂怼项目,然后问一些项目相关的知识,比如自己双写不一致问题,是写频繁还是读频繁,如果写频繁为什么还需要缓存,如果我要做的就是要修改数据库然后修改redis,怎么解决不一致问题。我的回答是redis分布式锁,然后讨论分布式锁以及redlock锁等等
    2、http和https区别,非对称加密的过程
    3、mysql的悲观锁和乐观锁区别和应用,ABA问题的解决
    4、mysql索引的底层B+树,说说为什么使用B+树,跟红黑树有什么去呗
    5、事务的可重复读幻读是什么情况,怎么解决幻读
    6、http的一些字段,就你知道的回答一些
    7、三次握手和四次挥手、为什么需要三次握手
    二面:
    1、http和https的区别,CA证书的优缺点,https抓包的时候出现的是什么,https防护的是什么
    2、apache和nginx的区别
    3、nginx的epoll模型的介绍以及io多路复用模型
    4、狂怼项目
    5、算法题,快排和一个变种的归并

    今日头条
    一面:
    1、说说你的项目架构图以及数据走向
    2、PHP源码的数组的排序是在底层源码哪里体现的。
    3、PHP的垃圾回收机制
    4、状态码 499、502、504这些是在什么场景出现的,你有在实际项目中看到吗
    5、PHP如果一个页面超时,怎么查看是哪一个接口超时的。这里查看慢查询日志
    6、PHP的FPM进程管理器的三种管理模式都有什么
    7、比如你的服务器,一个小时前的cpu占用率到达百分之百,现在恢复正常,你怎么排查出来之前是什么原理导致的(这个可以看nginx的日志)
    8、mysql的索引底层,以及覆盖索引和普通索引的区别,你平常怎么看你的SQL有没有使用到索引(我说的explain执行计划),如果使用了覆盖索引,在执行计划上面那个字段会体现,显示的是什么
    9、redis的缓存穿透,布隆过滤器是怎么设计的

    滴滴
    一面:
    1、两个手写算法题,一个复杂链表的翻转,一个字符串累加和
    2、php的hashtable
    3、foreach为什么比for循环快
    4、php的fpm进程管理器的三种模式,优缺点是什么
    5、php fpm进程master进程和worker进程分别的责任是什么
    6、php常用的运行模式有哪些,fpm和cli运行生命周期是什么和fpm模式中在进行fcgi-accept-request中如何解决惊群现象的,你知道nginx怎么解决惊群现象的,区别呢?
    7、redis数据结构是哪些,然后问我有序集合的底层,跳表的实现,时间复杂度以及如何加一个数据
    8、redis字典的底层hashtable,以及和php的数组底层hashtable对比,以及redis的rehash过程,以及优化渐变式rehash
    9、mysql索引底层数据结构,为什么使用b+树不用b树
    10、mysql的数据页空洞是怎么造成的,如果解决,索引是局部还是全局的
    11、mysql事务都有什么,以及幻读因为什么造成的
    你有什么要问我的
    二面
    1、一个变种的纸牌算法(因为之前不知道,自己推,解出来将近半个小时)
    2、画出项目架构图,以及数据流向,然后怼项目
    3、进程和线程区别,什么时候用多进程什么时候用多线程
    4、mysql索引底层数据结构,以及redis的hashtable和建遍式rehash过程
    5、mysql的锁都有什么,怎么使用的,怎么结果mysql的可重复读的幻读
    6、你的领导怎么评价你、你的同事怎么评价你、你自己怎么评价你自己、有什么优缺点、短期的目标计划呢、怎么改进自己的优缺点

    腾讯:
    一面:
    1、怼项目,然后根据CAP理论设计出比当前解决方案更好的,如何架构
    2、你的PHP是怎么做安全处理的,比如SQL注入、xss、csrf
    3、项目开发怎么迅捷
    4、设计模式的使用
    5、mysql如果发生了抖动,怎么排查问题
    6、你能说一下nginx的日志能排查些出什么问题
    7、你的以后目标是什么,如何持续学习,你认为的架构师是什么样子的
    二面:
    1、怼项目
    2、设计一个限流的算法
    3、平常redis用的多的数据结构是什么,跳表实现,怎么维护索引,当时我说是一个简单的二分,手写二分算法,并且时间复杂度是怎么计算出来的 (2的k次方等于n k等于logn)
    4、设计模式用了哪些,手写出来
    5、mysql的索引底层,还有explain每个字段的介绍,以及type类型都有哪些,分别都代表什么意思
    6、php的话平常如果碰到不会的函数,你是怎么解决的?
    7、你有什么要问我的

    相关文章

      网友评论

        本文标题:面试-经历

        本文链接:https://www.haomeiwen.com/subject/eoachctx.html