PHP面试题(二)---百度
百度一面
1.自我介绍
2.问我研究生期间主要课程
3.数据库优化
4.MySQL组合索引特点
5.PHP中垃圾回收
6.是否看过php源码,做过php扩展,并阐述一下
7.mysql与MongoDB区别
百度二面
1.自我介绍
2.Mysql中索引类型,B-tree、Hash索引怎么实现的以及其特点?
3.Mysql中什么时候会出现数据丢失?怎样预防数据丢失
4.php虚拟机怎样解析php代码的
5.Mysql的优化步骤?
6.Mysql中的锁?
7.Mysql中的索引作用?如果不考虑其物理空间,索引是不是越多越好?
8.Mysql中主从复制原理与搭建
9.Mysql集群
10.是否阅读过Mysql源码?
11.反射作用以及应用场合?为什么非得用反射?
12.是否用到过socket编程,socket与curl区别?
13.php中图像处理
14.php中垃圾回收
15.php为什么是弱类型
16.研究生期间的课程有哪些?
17.Apache与Nginx区别?
18.web安全有哪些?
19.描述从输入url到显示,中间发生了什么?主要阐述apache或者Nginx中发生了什么?
20.Hash结构
函数参数传递机制的基本理论
函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两种:值传递和引用传递。以下讨论称调用其他函数的函数为主调函数,被调用的函数为被调函数。
值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本。值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值。
引用传递(pass-by-reference)过程中,被调函数的形式参数虽然也作为局部变量在堆栈中开辟了内存空间,但是这时存放的是由主调函数放进来的实参变量的地址。被调函数对形参的任何操作都被处理成间接寻址,即通过堆栈中存放的地址访问主调函数中的实参变量。正因为如此,被调函数对形参做的任何操作都影响了主调函数中的
实参变量。
-----------------------------------------------------------------------------------
仅讨论一下值传递和引用:
所谓值传递,就是说仅将对象的值传递给目标对象,就相当于copy;系统将为目标对象重新开辟一个完全相同的内存空间。
所谓引用,就是说将对象在内存中的地址传递给目标对象,就相当于使目标对象和原始对象对应同一个内存存储空间。此时,如果对目标对象进行修改,内存中的数据也会改变。
6、操作系统死锁的理解。
7、快速排序。
8、链表逆序,要求给出多种解题方案。
9、二叉树从根节点到叶节点路径上数字之和为一特定数的问题,会问到具体实现的数据结构(stack),算法优化。
10、是否熟悉前端相关技术(HTML、CSS、BooTStrap、JS、jQuery、Ajax等)。
11、linux 部分shell指令:如何查看某一个端口是否被占用,用过那些linux系统(ubuntu、centos等),是否了解linux内核。
12、Cookie和Session的理解。
13、PHP语言对字符串逆序的函数是什么,文件操作的函数名是什么,PHP使用了多长时间。
HTTP POST 和 GET的 区别。
在这特别感谢之前牛客网分享百度面经的前辈们,相关知识点基本都能靠上,不过面试官喜欢深入去问,准备的时候还是得明白其中的原理。
第二天来了电话二面,被虐成了渣:
1、C指针的大小,是否是固定的。
2、PHP JSON函数是否了解,PHP 运算符 “===” 和 “==”的区别,PHP引用(传值和传址)的理解。
3、js的闭包概念,ajax回调函数。
4、算法题:如何判断有环链表,有环链表如何判断开始的节点,有没有更高效的方法?
5、数据库连接查询有那几种?详细描述一下。
6、数据库慢查询优化,索引技术,存储引擎,不同引擎之间的区别
7、TCP的三次握手和四次挥手。
8、数据库表user只有id,name两个字段,编程实现删除重复数据,确保相同name的用户只有一条数据
================================
var_dump('0123'==123); 0123==123
$i=5;
echo $i+++$i++;
echo $i;
PHP获取POST的json数据:
https://my.oschina.net/u/205403/blog/325595
有500个整数在[0-200]区间内,要求排序,时间复杂度为O(n)
二维数组排序
一串数字,怎么找到第二大的数字
nginx 配置ip过滤 等等
mysql 分组排序加序号 @i := @i + 1 rownumber()
php 怎么做异步 //消息
https://www.jianshu.com/p/3f8a43b22dd8
用户正在进行操作api_token过期了怎么办? token 本身是为了增加安全性,延长过期有待考虑
自动刷新并重新请求接口?
rdb aof 原理
mysql 锁 主从原理 延迟解决
redis 消息
获取中英文字符串长度?
框架mvc如何实现的?
form表单与restful区别?
拦截器怎么实现?
merge原理?
php如何定义编码形式?
一个极端场景 : 多台服务器下,一件商品拍卖,用户出价的请求同时到达服务端且出价价格一样问题,怎么解决价格一样?这件端口卖给谁?redis并发队列不可以.
怎样保证接口的第三方使用者就是我的用户,token可以被人模拟。威胁:爬虫,资源显示,商城支付篡改
以微博为例,假设有1亿有效用户,用户之间的关注可以是单向的,平均每个用户关注100个用户,设计一系列关系数据表结构,要求:
A:根据一个用户,获得他关注的全部用户
B:根据一个用户,获得全部关注他的用户
C:给出任意两个用户,获取其共同关注的用户
D:给出任何两个用户AB,获取A关注的用户中也关注了B的用户
在以上设计的基础上,假设使用某SQL引擎,这个引擎速度很快,但当表存储大于1000万时性能急剧下降,如何避免这个特性对性能的影响? 参考: http://chuansong.me/n/1447812451431
1. 合理的SQL,数据结果集越靠前,效率越高。
2. 合理的索引,避免SQL语句全表扫描,所以SQL一定要走索引(如:一切的 > < != 等等之类的写法都会导致全表扫描)
3. 避免 limit 10000000,20 这样的查询
4. 避免 LEFT JOIN 之类的查询,不把这样的逻辑处理交给数据库
5. 每个表索引不要建太多,大数据时会增加数据库的写入压力
6. 控制数据量,分表
占位符是如何防止sql注入的?
abc bac 同胞字符串 在大文件中查找某一字符串的同胞
升降数组单调排序,restful鉴权,expload实现传入分割数组分割
PHP优化
PHP面试题(二)---百度相关推荐
- python深浅拷贝 面试_[面试题二]百度资深面试官:python赋值、浅拷贝与深拷贝
内存管理相关的面试一直是面试中的重点考察内容.赋值.深拷贝与浅拷贝是日常编码工作中,需要时常关注的知识点.不小心可是会写出bug哦- 赋值 先来看一段代码,下面两段代码的输出结果会是什么呢? # ca ...
- 【面试】iOS 开发面试题(二)
[面试]iOS 开发面试题(二) 1. 我们说的oc是动态执行时语言是什么意思? 答案:多态. 主要是将数据类型的确定由编译时,推迟到了执行时. 这个问题事实上浅涉及到两个概念.执行时和多态. 简单来 ...
- Java 面试题:百度前200页都在这里了
Java 面试题:百度前200页都在这里了 基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 A ...
- 2013年计算机专业对口模拟试题二,计算机对口升学模拟试题全解.doc
计算机对口升学模拟试题全解 2013年计算机专业对口高考模拟试题二 一.选择题 1.计算机硬件系统由( )组成 A.CPU和内存 B.控制器和运算器 C.主机和外设 D.CPU.内存和外存 2.下列叙 ...
- 大学计算机基础实验指导试题,(大学计算机基础实验指导)模拟试题(二)参考答案...
(大学计算机基础实验指导)模拟试题(二)参考答案 (非计算机专业A卷) 一.填空题(共20分,每空1分) 1.电子管2.分时系统.实时系统3..txt 4.主码 5.实体.参照.用户定义6.同轴电缆. ...
- c语言中二次规划函数是哪个好,c语言程序设计规划模拟试题二(含答案).doc
c语言程序设计规划模拟试题二(含答案) C语言程序设计模拟试题二(含答案)1. 下列电子邮件地址中正确的是(其中□表示空格)A) Malin& B) malin@C) Lin□Ma& ...
- 计算机应用基础二00018,2019年10月自学考试00018《计算机应用基础》试题(二)
2019年10月自学考试00018<计算机应用基础>试题(二) 1. [单选题]在Word中,__D______的作用是能在屏幕上显示所有文本内容. (A).标尺 (B).控制框 (C). ...
- 自考c语言程序阅读题,自考C语言程序设计模拟试题二答案.DOC
本资料由广州自考网收集整理,更多自考资料请登录 HYPERLINK "http://www.gzzk.cc" www.gzzk.cc下载 再长的路,一步步也能走完,再短的路,不迈开 ...
- c语言程序设计移动字母,C语言程序设计模拟试题二(含答案)
C语言程序设计模拟试题二(含答案) 1.下列电子邮件地址中正确的是(其中□表示空格) A) Malin&http://www.doczj.com/doc/2969157fa26925c52cc ...
- 18年5年制计算机辅助考试题,2018年自考《计算机辅助教育》试题二
2018年自考<计算机辅助教育>试题二 21: [单项选择题] 建构主义的认识论的代表人物是 A : 康德 B : 赫尔巴特 C : 马卡连柯 D : 皮亚杰 22: ...
最新文章
- AngularJS如何在filter中相互调用filter
- 烦人,周报要不要取消?| 每日趣闻
- 我长了一条日本制的尾巴:智能配合身体运动,增强平衡感,把我变成“改造人”| SIGGRAPH...
- Android 学习指南(2017版)
- Java SimpleTimeZone setStartYear()方法与示例
- linux 建议锁和强制锁
- ubuntu linux 搭建 webssh 网页ssh远程登录其他服务器
- java 释放锁,在Java中以原子方式释放多个锁
- pandas选取特定段
- 虚拟内存与物理内存与内存碎片-杂谈
- powerdesigner生成php代码,powerdesigner
- android12.0(S) Launcher3 去掉抽屉
- Oracle table move tablespace
- wechatExtension老助手提示无法安装
- 执行DLL模块加载失败
- TIA protal v17安装非C盘找不到step7 basic
- 半年以来的Interview经历
- 读书笔记-柒-《腾讯网UED体验设计之旅》
- t分布 u分布 卡方分布_重要抽样分布:卡方分布(χ2分布)、t分布和F分布
- 【附源码】计算机毕业设计SSM实验室安全准入考试系统
热门文章
- C程序设计--排序(冒泡、选择、插入)--选择
- Jupyter notebook、JypterLab的本地安装与使用
- c语言操作数据库sql
- 计算机万能知识,电脑知识讲解ppt课件.ppt
- 什么是信用评分分析?
- iperf服务器如何显示收到的包速率,使用Iperf诊断网络速度
- cart算法 java_决策树学习笔记(三):CART算法,决策树总结
- 线接触和面接触的区别_接触器是啥?跟继电器有啥区别,6大常见故障怎么处理...
- 人机协作机器人发展趋势_人工智能非万能!智能安防机器人下一站:人机协作...
- 翻译:通过使用终端(iTerm2&Oh my ZSH)来提高您的生产率