ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

算法、试题

2019-06-15 14:56:07  阅读:235  来源: 互联网

标签:__ 调用 试题 quot 支持 算法 InnoDB php


常用算法
1.Cookie禁用了,Session还能用吗?
对应的服务器Session,Session ID是通过Cookie来传递的,禁用Cookie相当于失去了Session ID,就得不到Session
php.ini文件中的”session.use_trans_sid = 1“,或者编译时打开打开了”–enable-trans-sid选项”
a.sn=sessionid();sessionid(sn=session_id(); session_id(sn=sessioni​d();sessioni​d(_GET–>url传过来的参数)
b.fopen w+ 写入session_id()
fread 取出sesson_id
2.GET、POST传输最大容量是多少?
GET发送http协议通过url方式传递,受浏览器或者服务器的设置限制
POST实体数据,表单传送,通过php.conf的post_max_size可以设置传输大小
3.抓取远程图片到本地,会用什么函数?
file_get_contents() file_put_contents()
4.CGI是什么?什么是FastCGI?php-fpm、FastCGI、Nginx之间是什么关系?
server收到一个php的请求时,会启动一个程序去处理当前的请求,而这个程序就是CGI
通用网关接口(返回标准html数据的服务)
FastCGI 是一个协议,是应用程序和 WEB 服务器连接的桥梁。Nginx 并不能直接与 PHP-FPM 通信,而是将请求通过 FastCGI 交给 PHP-FPM 处理。
php-fpm是fastcgi进程的管理器,用来管理fastcgi进程的。
5.函数内部static和global关键字的作用?
stattic(静态局部变量)作用于函数内,不能用在函数外
global(静态全局变量)可以作用任何地方
6.memcache和Redis的区别及优缺点?
memcache把数据存到内存中,读取速度快。
Redis支持的数据类型更多,数据也可以存到硬盘,断电不会挂掉,数据持久化,memcache一旦断电数据就没了。
都可以一主多从。
7.Include require include_once require_once 的区别?
处理失败方式不同:
require 失败时会产生一个致命级别错误,并停止程序运行。
include 失败时只产生一个警告级别错误,程序继续运行。

include_once/require_once和include/require 处理错误方式一样,
唯一区别在于当所包含的文件代码已经存在时候,不在包含。

8.php魔幻(术)方法;
__construct() 实例化类时自动调用。
__destruct() 类对象使用结束时自动调用。
__set() 在给未定义的属性赋值的时候调用。
__get() 调用未定义的属性时候调用。
__isset() 使用isset()或empty()函数时候会调用。
__unset() 使用unset()时候会调用。
__sleep() 使用serialize序列化时候调用。
__wakeup() 使用unserialize反序列化的时候调用。
__call() 调用一个不存在的方法的时候调用。
__callStatic()调用一个不存在的静态方法是调用。
__toString() 把对象转换成字符串的时候会调用。比如 echo。
__invoke() 当尝试把对象当方法调用时调用。
__set_state() 当使用var_export()函数时候调用。接受一个数组参数。
__clone() 当使用clone复制一个对象时候调用。

9.一些编译php时的configure 参数
–prefix=/usr/local/php php安装目录
–with-config-file-path=/usr/local/php/etc 指定php.ini位置
–with-mysql=/usr/local/mysql mysql安装目录,对mysql的支持
–with-mysqli=/usr/local/mysql/bin/mysql_config mysqli文件目录,优化支持
–enable-safe-mode 打开安全模式
–enable-ftp 打开ftp的支持
–enable-zip 打开对zip的支持
–with-bz2 打开对bz2文件的支持
–with-jpeg-dir 打开对jpeg图片的支持
–with-png-dir 打开对png图片的支持
–with-freetype-dir 打开对freetype字体库的支持
–without-iconv关闭iconv函数,种字符集间的转换
–with-libxml-dir 打开libxml2库的支持
–with-xmlrpc 打开xml-rpc的c语言
–with-zlib-dir 打开zlib库的支持
–with-gd 打开gd库的支持
更多可以使用 ./configure help 查看

10.写代码来解决多进程/线程同时读写一个文件的问题。
PHP是不支持多线程的,可以使用php的flock加锁函数实现。
fp=fopen("/tmp/lock.txt","w+");if(flock(fp = fopen("/tmp/lock.txt", "w+"); if (flock(fp=fopen("/tmp/lock.txt","w+");if(flock(fp, LOCK_EX)) { // 进行排它型锁定
fwrite(KaTeX parse error: Expected 'EOF', got '\n' at position 26: … something here\̲n̲"); flock(fp, LOCK_UN); // 释放锁定
} else {
echo “Couldn’t lock the file !”;
}
fclose($fp);

11.Mysql 的存储引擎,myisam和innodb的区别。
a. MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持.
b. MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快.
c. InnoDB不支持FULLTEXT类型的索引.
d. InnoDB 中不保存表的具体行数,也就是说,
执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,
但是MyISAM只要简单的读出保存好的行数即可.
e. 对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引。
f. DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除。
g. LOAD TABLE FROM MASTER操作对InnoDB是不起作用的,解决方法是首先把InnoDB表改成MyISAM表,导入数据后再改成InnoDB表,
但是对于使用的额外的InnoDB特性(例如外键)的表不适用.
h. MyISAM支持表锁,InnoDB支持行锁。

12.MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
a. 设计良好的数据库结构,允许部分数据冗余,尽量避免join查询,提高效率。
b. 选择合适的表字段数据类型和存储引擎,适当的添加索引。
c. mysql库主从读写分离。
d. 找规律分表,减少单表中的数据量提高查询速度。
e。添加缓存机制,比如memcached,apc等。
f. 不经常改动的页面,生成静态页面。
g. 书写高效率的SQL。比如 SELECT * FROM TABEL 改为 SELECT field_1, field_2, field_3 FROM TABLE.

13.对于大流量的网站,您采用什么样的方法来解决各页面访问量统计问题
a. 确认服务器是否能支撑当前访问量。
b. 优化数据库访问。
c. 禁止外部访问链接(盗链), 比如图片盗链。
d. 控制文件下载。
e. 使用不同主机分流。
f. 使用浏览统计软件,了解访问量,有针对性的进行优化。

14.是否用过模板引擎? 如果有您用的模板引擎的名字是?
Smarty

PHP相关知识
https://www.cnblogs.com/jackieron/p/6504765.html

标签:__,调用,试题,quot,支持,算法,InnoDB,php
来源: https://blog.csdn.net/tlsxtk/article/details/92084514

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有