面试常见问题总结
来源:互联网 发布:linux配置hadoop环境 编辑:程序博客网 时间:2024/06/05 09:02
一.PHP
(1)isset 和 empty的区别:
若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
若变量不存在则返回 TRUE
若变量存在且其值为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 TURE
若变量存在且值不为""、0、"0"、NULL、、FALSE、array()、var $var; 以及没有任何属性的对象,则返回 FALSE
(2)有关数组的函数
Array 函数
array_combine()通过合并两个数组来创建一个新数组。
array_merge() 把一个或多个数组合并为一个数组
array_pop() 删除数组的最后一个元素(出栈)。
array_push() 将一个或多个元素插入数组的末尾(入栈)。
array_shift() 删除数组中首个元素,并返回被删除元素的值。
array_search() 搜索数组中给定的值并返回键名。
count() 返回数组中元素的数目。
sort() 对数组排序。
(3)Session原理
1)客户端与服务器建立联系
2)客户端将session id传递给服务器
3)服务器根据session id建立相应的session id文件(session id序列化保存,读取时反序列化)
唯一标识的方法有两种:cookie或者通过GET方式指定
(4)PHP session 配置
session.cookie_path = / #cookie的有效路径
session.save_path = "/var/lib/php/session" #session id存放路径
session.gc_maxlifetime =1440 #过期时间(默认24分钟,单位秒)
(5)apache配置php
LoadModule php5_module D:/php/php5apache2_2.dll
PHPIniDir "D:/php"
二.Linux(1)df:列出文件系统的整体磁盘使用量
(2)du:检查磁盘空间使用量
(3)在Linux下查看内存使用用free
(4)查看端口netstat -ant
(5)进程 ps,top
(6)iptables
iptables是控制Netfilter的工具,防火墙(Firewall),网址转换(NAT),数据包(package)记录,流量统计,这些功能是由Netfilter子系统所提供的。
service iptables status可以查看到iptables服务的当前状态
iptables -L 查看防火墙规则
iptables包含4个表,5个链:
raw>mangle>nat>filter
5个链:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
80端口映射
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.138.21
在网关服务器进行透明代理
内网开放22端口
iptables -A INPUT -p tcp -s 192.168.138.0/24 --dport 22 -j ACCEPT
(7)DenyHosts用于防止SSH暴力破解,先检查hosts.deny,再检查hosts.allow,后者设定可越过前者限制。
三、计算机网络
(1).TCP三次握手
客户机请求,发送SYN,服务器回复 ACK+SYN,客户端发送ACK,连接建立,状态变为ESTABLISHED
ACK表确认,SYN同步标志,FIN表示断开连接
(2).四次挥手
请求断开方发送FIN请求断开,被断开方回复ACK,表示收到报文;
被断开方发送FIN表示可以断开,请求断开方回复ACK表示收到。
(3)TCP的状态
客户机:
SYN-SENT ESTABLISHED 建立连接
FIN_WAIT TIME_WAIT CLOSED 关闭连接
服务器:
CLOSED LISTEN SYN_RCVD ESTABLISHED 建立连接
(4).子网掩码作用:
划分子网,将某个IP地址划分成网络地址和主机地址两部分,扩大网络容量,实现复用。
子网掩码进行二进制与运算,广播地址-1是最后一个可用IP
(5).TCP的可靠性主要体现
数据校验,面向连接的三次握手,超时重发,直到相应为止,失序数据进行重新排序。
(6).TCP与UDP区别
TCP与UDP基本区别
1.基于连接与无连接
2.TCP要求系统资源较多,UDP较少;
3.UDP程序结构较简单
4.流模式(TCP)与数据报模式(UDP);
5.TCP保证数据正确性,UDP可能丢包
6.TCP保证数据顺序,UDP不保证
四、数据库
(1).Mysql引擎
InnoDB:
尽管要比ISAM和 MyISAM引擎慢很多,但是InnoDB包括了对事务处理和外来键的支持
ISAM:
ISAM执行读取操作的速度很快,但是不支持容错机制和事务处理机制。
MyISAM:
很好的多并发处理,支持快速读取。
HEAP:
基于内存的存储,速度快,但不能够持久化。
(2)Mysql主从复制
创建两个 不同服务器上的数据库,A数据库(master)用于写数据,同时通过网络将写入日志发送给B数据库,B数据库(slave)实现与A数据库的同步。
同时,读取数据可以对B数据库进行读取。
这样做的好处:
增加冗余,提高异地容灾能力,同时,当前服务器基本都是读多写少,可以减缓服务器压力。
(3)mysql查看表结构
desc table_name
(4)索引
mysql的索引分为单列索引(主键索引,唯索引,普通索引)和组合索引.
1.使用Mysql全文检索fulltext的先决条件,表的类型必须是MyISAM(新版本的InnoDB也可以)
建立全文检索的字段类型必须是char,varchar,text
eg.SELECT * FROM articles WHERE MATCH (tags) AGAINST ('旅游' IN BOOLEAN MODE);
普通的:
SELECT * FROM 'user' WHERE 字段1 like "%关键字%";
五、数据结构
(1).解决哈希(HASH)冲突的主要方法
1、开放定址法
2.拉链法
(2).排序,搜索算法复杂度,稳定性。
六、操作系统
(1).进程状态:
就绪,执行,阻塞
有些还具有挂起状态。
- 面试常见问题总结
- 面试常见问题总结
- Android 面试:常见问题总结
- iOS面试常见问题总结
- 网络面试常见问题总结
- java面试常见问题总结
- Java面试常见问题总结
- C++面试常见问题总结
- 笔面试常见问题总结
- Java面试常见问题总结
- 面试常见问题总结
- 计算机笔试面试常见问题总结
- 【面试】【Spring常见问题总结】【01】
- 【面试】【Spring常见问题总结】【02】
- 【面试】【Spring常见问题总结】【03】
- 【面试】【Spring常见问题总结】【04】
- 【面试】【Spring常见问题总结】【05】
- 【面试】【Spring常见问题总结】【06】
- tensroflow建立一个完整的单层网络
- 从0开始学习 GitHub 系列之「初识 GitHub」
- 智能卡 APTU命令
- ssh 免密码登录
- Qt+OpenCV在不同ubuntu系统移植时SIGSEGV问题解决
- 面试常见问题总结
- robot framework调整Text Edit调整字体颜色
- htm和html有什么区别
- Android中关于使用空格对齐文字
- 51Nod1202子序列个数
- MTK MT8163 7.0 TP驱动简单移植
- Go言学习系列--开发工具(二)
- SIM卡APDU指令
- SVN使用