php中关于中级程序员的一些面试题
这篇文章将为大家详细讲解有关php中关于中级程序员的一些面试题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
PHP开发环境搭建工具有哪些
一、phpStudy,是一个新手入门最常用的开发环境。二、WampServer,WampServer也同样的也是和phpStudy一样操作简单对小白比较友好。三、XAMPP,XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包;四、MAMP,MAMP分为两种MAMP和MAMP Pro for Mac。五、宝塔面板,宝塔面板是一款服务器管理软件,支持windows和linux系统。六、UPUPW,UPUPW是目前Windows平台下最具特色的Web服务器PHP套件。
我们学会了编程的相关知识后,不论是哪一种类型的,最后都需要进行一些测试检验学习成果。这里也不得不提到一个沉重的话题,每个程序员必经的阶段就是面试及准备。对于中级程序员来说,面试题的基础考察部分不会以提问的形式展开,需要结合其他模块的知识点一起运用,同时对具体数据库使用的细节进行剖析。
1.如何设计或配置Mysql,才能达到高效使用的目的。
(1)数据库设计方面,设计结构良好的数据库,允许部分数据冗余。 选取最适用的字段属性,尽可能把字段设置为NOTNULL,这样在查询的时候,数据库不用去比较NULL值。
(2)系统架构设计方面,表散列,把海量数据散列到几个不同的表里面,集群,数据库查询和写入分开。 写高效sql语句,以提高效率。使用连接(join)来代替子查询使用联合(union)来代替手动创建的临时表所得皆必须,只从数据库取必须的数据。必要的时候用不同的存储引擎,比如Innodb可以减少死锁,HEAP可以提高一个数量级的查询速度。
2.SESSION 保存在服务器的哪里?
通过php.ini指定,可存在指定目录的文件中或内存中,或数据库中!
(存储在服务器上的php指定的目录中的(session.save_path)的位置进行的存放)
3.一次完整的HTTP请求所经历的步骤
(1)对www.baidu.com这个网址进行DNS域名解析,得到对应的IP地址
(2)根据这个IP,找到对应的服务器,发起TCP的三次握手
(3)建立TCP连接后发起HTTP请求
(4)服务器响应HTTP请求,浏览器得到html代码
(5)浏览器解析html代码,并请求html代码中的资源(如js、css图片等)(先得到html代码,才能去找这些资源)
(6)浏览器对页面进行渲染呈现给用户
4.redis的五大数据类型的使用场景
(1)string 存储字符串,场景是简单缓存
(2)list 队列,场景是模拟队列,秒杀,点赞,回复等有一些先后顺序的
(3)set 无序的唯一列表,场景:抽奖,去重,好友圈,共同好友之类的
(4)SortedSet有序的场景:排行榜,各种热度排行
(5)hash
5.redis是单线程的吗,可以多线程吗
优点:
(1)绝大部分请求是纯粹的内存操作(非常快速)
(2)采用单线程,避免了不必要的上下文切换和竞争条件
(3)非阻塞IO - IO多路复用(select,poll,epoll)
(4)高效的数据结构
(5)value大小:redis最大可以达到1GB,而memcache只有1MB
关于“php中关于中级程序员的一些面试题”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341