百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

备战2020年:PHP千道面试题:Mysql+Redis+性能调优+分布式+微服务

qiyuwang 2025-02-18 13:05 9 浏览 0 评论



一、 PHP方面的问题

  • 什么是composer?以及composer是干什么用的?工作原理
  • PHP如何实现静态化
  • 你了解设计模式吗?说下你最常用的设计模式
  • 观察者模式是如何实现的?工厂模式是如何实现的?适配器模式是如何实现的?……
  • PHP的优化方案
  • 说下你了解的session和cookie
  • 如何实现不基于session和cookie的用户认证。
  • 说下你目前框架所用到的核心概念
  • 什么是CSRF攻击,XSS攻击?如何防范
  • 你了解RESTful API吗?说说干什么用的。
  • 设计的原则
  • 如果实现自动加载?不用composer如何实现?PSR-4是什么?

二、 数据库方面

  • 你知道nosql吗?你用的nosql都有哪些?
  • mysql索引优化
  • mysql的优化方案
  • mysql的事务
  • mysql的读写分离
  • 消息队列如何实现
  • 查询优化
  • msyql的存储引擎,以及各自的区别
  • redis和memcache有什么区别
  • 索引有哪些,你是如何做索引的?
  • 如何分表

三、 服务器方面

  • 说下一些你常用的linux命令
  • Linux如何搭建LAMP环境
  • 你们平常工作的系统环境是在哪里?
  • 你了解Docker吗?
  • 你说下常用的服务端口号
  • 说下都有哪些跨域。
  • 事件冒泡
  • DOM事件流
  • JS是如何实现继承的
  • 绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?
  • 怎么查看当前进程?怎么执行退出?怎么查看当前路径?
  • 怎么清屏?怎么退出当前命令?怎么执行睡眠?怎么查看当前用户 id?查看指定帮助用什么命令?
  • Ls 命令执行什么功能? 可以带哪些参数,有什么区别?
  • 目录创建用什么命令?创建文件用什么命令?复制文件用什么命令?
  • 随意写文件命令?怎么向屏幕输出带空格的字符串,比如”hello world”?
  • 终端是哪个文件夹下的哪个文件?黑洞文件是哪个文件夹下的哪个命令?
  • 复制文件用哪个命令?如果需要连同文件夹一块复制呢?如果需要有提示功能呢?
  • 删除文件用哪个命令?如果需要连目录及目录下文件一块删除呢?删除空文件夹用什么命令?
  • Linux 下命令有哪几种可使用的通配符?分别代表什么含义?
  • 用什么命令对一个文件的内容进行统计?(行号、单词数、字节数)
  • Grep 命令有什么用? 如何忽略大小写? 如何查找不含该串的行?
  • Linux 中进程有哪几种状态?在 ps 显示出来的信息中,分别用什么符号表示的?
  • 怎么使一个命令在后台运行?
  • 利用 ps 怎么显示所有的进程? 怎么利用 ps 查看指定进程的信息?
  • 哪个命令专门用来查看后台任务?
  • 把后台任务调到前台执行使用什么命令?把停下的后台任务在后台执行起来用什么命令?
  • 搜索文件用什么命令? 格式是怎么样的?
  • 查看当前谁在使用该主机用什么命令? 查找自己所在的终端信息用什么命令?
  • 使用什么命令查看用过的命令列表?
  • 使用什么命令查看磁盘使用空间? 空闲空间呢?
  • 查找命令的可执行文件是去哪查找的? 怎么对其进行设置及添加
  • 当你需要给命令绑定一个宏或者按键的时候,应该怎么做呢?
  • 如果一个 linux 新手想要知道当前系统支持的所有命令的列表,他需要怎么做?

五、Redis习题

  • 什么是 Redis?
  • Redis 的数据类型?
  • 使用 Redis 有哪些好处?
  • Redis 相比 Memcached 有哪些优势?
  • Memcache 与 Redis 的区别都有哪些?
  • Redis 是单进程单线程的?
  • 一个字符串类型的值能存储最大容量是多少?
  • Redis 的持久化机制是什么?各自的优缺点?
  • Redis 常见性能问题和解决方案
  • redis 过期键的删除策略?
  • Redis 的回收策略(淘汰策略)?
  • 为什么 edis 需要把所有数据放到内存中?
  • Redis 的同步机制了解么?
  • Pipeline 有什么好处,为什么要用 pipeline?
  • 是否使用过 Redis 集群,集群的原理是什么?
  • Redis 集群方案什么情况下会导致整个集群不可用?
  • Redis 如何设置密码及验证密码?
  • 说说 Redis 哈希槽的概念?
  • Redis 集群的主从复制模型是怎样的?
  • Redis 集群会有写操作丢失吗?为什么?
  • Redis 集群之间是如何复制的?
  • Redis 集群最大节点个数是多少?
  • Redis 集群如何选择数据库?
  • 六、 算法和其它方面

    • 最常用的排序算法
    • 做一个微信抢红包的功能
    • 如何防止高并发
    • 你们用哪种版本控制?如何避免代码冲突
    • 在浏览中输入网址后都发生了什么
    • 你了解socket吗?
    • 如果打开网页的时候白屏10秒才显示出页面,如果进行排查。
    • 其它,必问知识
    • 说下你在项目中碰到的问题
    • 你是如何解决的问题的
    • 你未来的规划是什么?
    • 你为什么离职
    • 你觉得你的领导会如何评价你
    • 说下你做得你公司最不错的项目,都用了哪些技术,对你带来了哪些成长
    • 说下TCP的三次握手,为什么三次,两次不行吗?为什么挥手又是四次

    七、微服务

  • 您对微服务有何了解?
  • 微服务架构有哪些优势?
  • 微服务有哪些特点?
  • 设计微服务的最佳实践是什么?
  • 微服务架构如何运作?
  • 微服务架构的优缺点是什么?
  • Docker 的目的是什么?
  • 什么是微服务中的反应性扩展?

  • 这些并不是说都需要会,都要知道,只是你需要了解这些。工作中不一定会用到,但是需要你在提某项技术的时候你知道有这项技术。

    笔试的时候基本都是些PHP,mysql,linx等的基础,所以基础还是需要看的,比如考察一些函数的用法。HTTP的一些状态码,一些sql语句,一些排序算法。

    面试一般会看你的简历来问,所以说对于虚假的东西一问就露馅,所以不要过多的美化简历。面试的时候一般会针对你简历上的某项技术,一直深入问下去,直到问到你答不出,然后转到另外一项技术上面。

    一般面试的技术都是以后你要跟着他干的人员,所以多站在对方的场景下想问题,对方肯定是希望有个能帮他分担工作压力的人。

    回答不要一问一答,最好能说出你自己的理解,以及它的优缺点。

    一些技术方面的问题,要回答那些实用看的见的效果,比如composer可以解决自动加载类,不用你写过多的new,比回答,composer是一个依赖管理工具,composer会帮你安装这些依赖的库文件,要强的多,当然也可以说,以前都是复制粘贴一些代码到自己项目里,然后把代码改为自己需要的,现在使用composer我可以直接引用别人的代码而不需要过多的更改。

    技术不需要你全部会,(你也不可能全部会,别人就是要问到你答不出来为止,不然怎么压你工资),但是你要有自己的理解,这东西我没用过,但是我了解过一些,大概是什么什么玩意,它是个啥啥啥技术,大概是为了解决啥啥啥技术。

    对于面试的是技术的,不会就不会,没用过就没用过,如果你乱扯,技术一听就能听出来你说的对不对,但是你可以说说你对这个理解,这样就不至于冷场了,蒙对了加分,蒙错了也代表你会思考这个东西,会去想。

    读者福利: 一份腾讯T3-2架构师分享的架构师学习思维路线:

    一、框架源码解析专题

    • thinkphp6.0源码解析
    • laravel5.7源码解析
    • Symfony4.0源码解析

    设计模式

    • 设计原则
    • 创建型模式
    • 原型模式
    • 装饰器模式
    • 设计模式对比及应用场景

    二、性能调优专题

    • mysql优化
    • redis高级
    • PHP程序性能优化
    • 算法与数据结果
    • Nginx调优实战

    Mysql性能调优

    • Mysql底层Btree机制讲解
    • Mysql 执行计划深入讲解
    • Mysql锁机制与事务隔离级别详解
    • 慢查询Sql调优实战
    • MySQL索引优化详解
    • MySQL分库分表

    Nginx调优

    • Nginx快速掌握
    • 熟练掌握Nginx核心配置
    • 掌握Nginx负载算法配置

    PHP程序性能优化

    • PHP内核探索
    • 深入对象内存优化
    • 类的设计陷进

    三、微服务系列专题

    • swoft微服务框架
    • swoole源码剖析
    • API接口平台源码剖析
    • Tars分布式RPC框架
    • Docker容器


    四、分布式框架专题
    分布式架构原理

    • 初始分布式
    • 分布式架构设计原则
    • 分布式通信协议

    分布式缓存

    • Redis主从复制讲解
    • Redis分布式集群部署
    • Redis读写分离实战
    • Redis哨兵机制

    分布式RPC、消息中间件

    • 多协议的RPC框架
    • 多协议通信
    • Kafka消息处理原理剖析
    • Rabbitmq消息分发原理

    五、项目实战专题
    亿级云平台

    • 云平台项目架构设计及核心技术点整理介绍
    • 基于swoft微服务架构拆分
    • 云平台技术解决方案

    小编结合以上知识体系整理了一套BAT面试真题+架构技术资料,退可提升软硬实力,进可收获高薪好offer。资料内容涵盖BAT架构技术与面试真题,减少你到处搜索资料的时间,成体系的实战技术知识,让你面试、进阶都更加容易。

    领取方式:点赞关注小编后私信【面试】获取资料领取方式


    相关推荐

    centos7使用yum安装nginx+php7+mysql5.6

    本文主要介绍安装在centos7下如何安装nginx+php+mysql的环境,centos7的版本自带安装源的版本无法实现PHP5.4以上的版本,数据库默认用的是mariadb,文章介绍的安装是如何...

    Linux基础入门(VMWare中CentOS7配置yum)

    上一章节,介绍了《Linux基础入门(CentOS7下通过命令行配置网络)》,本章将介绍如何配置yum源,方便后续在学习和使用的过程中,对所需工具的安装;...

    CentOS 7搭建Nextcloud私有云(centos搭建云盘)

    Nextcloud简介:对于私人网盘,其中最出名的就是seafile、owncloud和nextcloud。seafile是国人开发的,有免费和企业版,免费的功能有限;nextcloud是owncl...

    分享一个docker镜像源地址,解决docker不能拉取的问题

    自己搭建的代理,centos7只需要修改/etc/docker/daemon.json并输入以下内容:{"registry-mirrors":["https://next...

    源支付5.18版全套开源源码客户端+云端+监控+协议三网免挂免输入

    源支付5.18最新版协议去授权全套三端开源源码_客户端+云端+监控+协议三网免挂免输入(全套版)推荐系统为:CentOS7.6Linux系统环境:Nginx1.20.1+MySQL5.6....

    centos7飞速搭建zabbix5.0并添加windows、linux监控

    一、环境zabbix所在服务器系统为centos7,监控的服务器为windows2016和centos7。二、安装zabbix官方安装帮助页面...

    CentOS上配置 Docker 使用代理服务器

    hub.docker最近总被墙,国内大厂搞的docker镜像源代理被封被停,对于一个严重依赖一些海外项目的软件开发人员,简直没法干活了。docker要在CentOS上配置Docker使用代理服...

    CentOS 7 (阿里云虚拟机) 安装 Docker

    一、安装Docker1.使用root权限登录CentOS。确保yum包更新到最新sudoyumupdate...

    Centos离线静默安装 oracle11g,步骤细验证成功

    一、环境要求1.1.涉及工具及环境1)CentOS764位系统2)oracle安装包文件a)linux.x64_11gR2_database_1of2.zip...

    Linux运维之制作指定软件包的YUM源

    #挑战30天在头条写日记#关注我,不迷路,大家好,我是大王。--记录运维中遇到的故障及排查方法...

    在CentOS 9 安装Nvidia显卡驱动详细操作步骤

    今天给粉丝网友演示CentOS9系统下如何安装nvidia显卡驱动。·将下载好的显卡驱动放到文件夹中,这里以download为例,放入文件夹中开始对系统软件升级,是为了防止在安装显卡驱动时显示报错...

    基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)

    前言:由于公司业务服务器大部分都在内网环境下运行,内网环境无法直接使用yum安装升级更新软件,所以需要自建Yum源来满足目前日常工作需要。...

    最新zabbix一键安装脚本(基于centos8)

    一、环境准备注意:操作系统必须是centos8及以上的,因为我配的安装源是centos8的。并且必须连接互联网,脚本是基于yum安装的!!!...

    CentOS7中使用yum安装Nginx的方法

    1、添加源  默认情况Centos7中无Nginx的源,最近发现Nginx官网提供了Centos的源地址。因此可以如下执行命令添加源(...

    Centos8出现Failed to download metadata for repo 'AppStream'解决

    大家都知道Centos8于2021年年底停止了服务,大家再在使用yum源安装时候,出现下面错误“错误:Failedtodownloadmetadataforrepo'AppStre...

    取消回复欢迎 发表评论: