一位资深php程序员在北京的面试30个题目
1、SESSION 保存在服务器的哪里?
2、服务端是如何获取客户端的cookie?
3、如何实现SESSION共享,共享的原理是什么?
4、请大致说出LVS搭建的过程,文件共享原理是什么?
5、网络共享服务器上传数据是向一台服务器上传?还是多台?如何实现同步?
6、说出你所知道的数据库设计范式?常用的建模工具是什么?(mysql建模工具)
7、如果你是项目经理,你如何管理你的项目团队的日常事宜?
8、主从数据库的配置,都需要哪些基本的条件,需要配置什么内容?
9、说出你常用的版本控制器,SVN中需要配置哪几个配置文件
10、LVS 在项目运行之前需要注意哪些事项,或者说会出现什么问题?
11、ecshop为何出现字段冗余违犯设计模式,请说出为何这么做?
12、常用mysql优化方式,尽可能多的说?
13、memcache原理是什么?是否能存入2M的value?
14、什么是队列?排它锁,Myisam 死锁如何解决?
15、请说出mysql常用存储引擎?memory存储引擎的特点?
16、如何最快速的插入5000条以上的数据?
17、你用过多少开源框架?
18、ecshop 购物车信息存放在哪里?
19、PHP生成页面缓存的原理
20、你所知道的缓存技术有哪些,分别做下简单介绍
------------------------------------------------------------------------------------------------
1、SESSION 保存在服务器的哪里?
答:通过php.ini指定,可存在指定目录的文件中或内存中,或数据库中!
2、服务端是如何获取客户端的cookie?
答:服务器每次处理请求的进候都可以抓取头信息的cookie并设置返回,
3、如何实现SESSION共享,共享的原理是什么?
答:配置主从数据库,将SESSION存入主数据库中,常见的做法还有在各服务器端安装MEMCAHCE,将SESSION存入各MEMCACHE中,
4、请大致说出LVS搭建的过程,文件共享原理是什么?
5、网络共享服务器上传数据是向一台服务器上传?还是多台?如何实现同步?
6、说出你所知道的数据库设计范式?常用的建模工具是什么?(mysql建模工具)
答:1NF:每一条满足原子性,不可以分割;2NF:每一条记录要满足唯一性,3NF:字段不冗余,有时我们还需要反三范式,常用的建模工具:phpMyAdmin,navicat for mysql,DOS命令行;
7、如果你是项目经理,你如何管理你的项目团队的日常事宜?
8、主从数据库的配置,都需要哪些基本的条件,需要配置什么内容?
答:基本条件:二台以上数据库服务器,
配置流程:1.分别打开主从服务器的bin-log;从服务器+relaylog
2.在主服务器根据需求建立相应的帐号并授权;
3.从服务器使用己创建好的帐号连接主服务器读取二进制文件并分析后同步
配置项:主:log-bin=mysql-bin;server-id=num(int);binlog-format=mixd/statement/row/
从:log_bin=mysql-bin;server-id=num(int)//唯一;relay_log=mysql-relay-bin;log_slave_updates=1;relay_only=1;
9、说出你常用的版本控制器,SVN中需要配置哪几个配置文件
答:SVN,GIT,CVS;配置文件:mod_authz_svn.so mod_dav_svn.so移至服务器模块中并加载,配置权限,分配用户;
10、LVS 在项目运行之前需要注意哪些事项,或者说会出现什么问题?
11、ecshop为何出现字段冗余违犯设计模式,请说出为何这么做?
答:在某些环境下反三范式反而增加了效率,因此这么做!
12、常用mysql优化方式,尽可能多的说?
答:SQL语句优化;存储优化;数据库配置;服务器配置
13、memcache原理是什么?是否能存入2M的value?
答:采用C/S模式,协义是普通文本,基于libevent机制处理数据放在内存中;memcache最大只能存入1MB数据,memcache并非为存储大数据而生,但可以考虑在存储前将值先压缩或拆分成多值分配到多个key中!
14、什么是队列?排它锁,Myisam 死锁如何解决?
答:在默认情况下MYisam是表级锁,所以同时操作单张表的多个动作只能以队列的方式进行;
排它锁又名写锁,在SQL执行过程中为排除其它请求而写锁,在执行完毕后会自动释放;
死锁解决:先找到死锁的线程号,然后杀掉线程ID
15、请说出mysql常用存储引擎?memory存储引擎的特点?
答:Myisam、InnoDB、memory,memory的特点是将表存到内存中,数度快,重启后数据丢失!
16、如何最快速的插入5000条以上的数据?
答:先生成数据文件,在用sql语句导入
17、你用过多少开源框架?
答:TP/CI/ZF/YII
18、ecshop 购物车信息存放在哪里?
答:order_info;order_goods;order_action;
19、PHP生成页面缓存的原理
答:将缓存内容放入OB缓存中,在OB缓存结束或脚本执行完毕后放入到程序缓存未尾并返回!
20、你所知道的缓存技术有哪些,分别做下简单介绍
答:ob缓存,通过模板技术写入文件类缓存;memcache;redis;redis和memcache最显著的区别在于数据不仅并于内存中,同时还会在磁盘中生成文件,即使重启,数据亦可被加载;
21、HTTP 协议的原理,什么是全双工,什么是半双工?
答:HTTP协议是一种无状态的协义,直白的讲就是请求和响应,全双工是指请求和响应同时进行,半双工指单个执行;
22、ucenter通信原理?
答:就是某个应用登陆后,然后后台轮询发送给同步登陆的应用的回调文件 ,回调文件接收到用户ID之后,生成cookie或者session然后进入登陆模式。
23、Memcached的原理
答:memcached 是以守护程序方式运行于一个或多个服务器中,等待接收客户端的连接操作,客户端可以由各种语言编写(例如PHP)。PHP 等客户端在与 memcached 服务建立连接之后,接下来的事情就是存取对象了,每个被存取的对象都有一个唯一的标识符 key,存取操作均通过这个 key 进行,保存到 memcached 中的对象实际上是放置内存中的,并不是保存在 cache 文件中的,这也是为什么 memcached 能够如此高效快速的原因。
24、你用过多少种JS框架?举例说明优缺点
答:jQuery、prototype、dojo、ext、YUI;
jQuery:强大的DOM节点查询无人能出其左右,动画操方便; DOM封装的很好!高低版本兼容非常好
prototype:较早的jS库,对ajax支持较好,基于原型链面向对象很强大
dojo:更容易俣WEB页面具有动态能力;
ext:强大的UI操作高居榜首;
YUI:强大的类库,提供很多方法;
25、如何衡量AJAX的使用(何时使用AJAX)
答:AJAX既称无刷新技术,常用见的使用场景:表单验证,用户评分、点击;只要需要实时的与服务器交互时即可使用;
26、什么是推技术,实现原理是什么?
答:推技术又称COMET,即在客户请求时在服务器挂起长连接,一旦服务器有了新数据,它降立即反回给客户端,实时性好;
27、什么是垂直搜索,斯芬克斯中分词原理?
答:垂直搜索是指在特定的范围内搜索的上下文,搜索面只会越来越精细,而非越来越广泛;sphinx分词的原理:将文本拆分为多个单词从数据源的各个文档对像创建索引并将索引表存储于内存中!
28、sphinx中无法ha_sphinx.so是用来做什么的?
答:一个sphinx的存储模块;
29、PHP常用的合并数组的方式?
答:array_mergn;array_mergn_recursive;
30、回答PHP读取文件速度快,还是读取mysql的数据快?为何?
答:一般情况下读文件》读数据库;不同情况速度也会反向,如:数据库数据量很小,而同目录文件又非常多的情况下,读数据库大于读文件;
转载于:https://www.cnblogs.com/yyjie/p/7409936.html
一位资深php程序员在北京的面试30个题目相关推荐
- php面试编程题_一位资深php程序员在北京的面试30个题目
1.SESSION 保存在服务器的哪里? 2.服务端是如何获取客户端的cookie? 3.如何实现SESSION共享,共享的原理是什么? 4.请大致说出LVS搭建的过程,文件共享原理是什么? 5.网络 ...
- 作为一位资深Java程序员应该注意的几点
1)不在属性文件或xml文件中外配置属性 2)测试中使用的数据集规模不合适 3)天真的认为应用程序中所调用的外部和内部服务是可靠的,并且是始终可用的 4)没有遵循最低限度的安全要求 5)没有进行跨浏览 ...
- 阿里巴巴一位 70 后程序员的 26 个职场感悟!
© -PinkCuty 在上周末阿里巴巴中间件举办的APM深度交流技术沙龙上,出现一位白发高龄程序员,一个本子.一支笔.一台笔记本,正记录着台上80后和90后开发者分享的分布式系统下的压测.监控和可用 ...
- 爱奇艺程序员落户北京后离职被判赔 10 万,网友:太值了简直白送
爱奇艺员工落户北京后离职被起诉,被判赔偿 10 万元 综合整理:程序员的那些事(id:iProgrammer) 2月5日,北京法院审判信息网公开一份二审民事判决书,一位彭姓程序员与爱奇艺公司之间的劳动 ...
- java 代码换行_作为一名资深的程序员,你见过哪些很想吐槽的代码
作为一名入行很多年的老程序员肯定会见到一些让人想吐槽又想笑的代码,很多程序员说:最想吐槽的是多年以前自己写的代码,现在看着这些代码就会特别想问一句,这是什么鬼,就好想删.但是呢,有些代码咋们不得不吐槽 ...
- 从初级到资深:程序员的职业生涯思考与可迁移技能培养
在去年的一年里,我经历了一次 "升职":从一个咨(cheng)询(xu)师(yuan)变成了一个高级咨询师.Title 变了,就意味着工作的内容也会发生一些变化.从拒绝升职,到被说 ...
- 今天两位80后程序员身价超千亿 一大波快手员工财富自由
刚刚,快手敲响了港交所上市锣声. 投资界获悉,2月5日,快手成功在香港交易所挂牌上市,中国短视频第一股诞生.此次IPO,快手发行价为115港元,开盘暴涨193%至338港元,市值冲破1.3万亿港元. ...
- 一位 70 后程序员的 24 个职场感悟
[回复"1024",送你一个特别推送] 在这是来自于阿里巴巴技术专家至简的一篇文章,首发于阿里中间件,这是一篇非常值得阅读的一篇文章,值得对自己程序员生涯有疑惑的人一读. 这些年总 ...
- bi工程师和java哪个好_每个好架构师都是一位出色的程序员
[51CTO独家特稿]架构师,听起来是如此神秘的一个称号.尤其是在开发领域刚入门不久的菜鸟级程序员眼中,架构师都是高手,都是牛人,都是如此高高在上的存在. 不过,在搞了四.五年编程之后,程序员们往往早 ...
最新文章
- 在Mac上利用pip3安装pyecharts模块
- 9月Python开源项目Top10
- 点击展开 表格_Excel里面如何设置默认的表格和透视表样式
- android 之intent(意图)详解
- 信息系统项目管理师范围管理
- Canvas动画基础之碰撞检测
- linux host命令超时,Linux中的PING命令。每日一个小知识。不怕学不会
- DbHelper数据库通用类使用方法
- 中国移民去哪儿 新京报
- 初次远程做Linux Iptables规则注意事项
- 【转】larbin的设计原理
- IDEA 编写JDBC 第一个示例
- 27. Remove Element
- pandas基础知识--1
- LeetCode 309 Best Time to Buy and Sell Stock with Cooldown 解决方案
- 区块链软件公司:区块链的不可篡改贴合司法存证需求
- XMPP即时通讯协议
- 7月18日云栖精选夜读丨蚂蚁金服的“野心”:要做新一代世界级金融科技供应商...
- ChatOps 如何帮助你更好地开发 DevOps
- #2阴阳师首页模块模拟