最近转载一些面试题,希望能给找工作的朋友们带来一点帮助。

1.写出5个以上你所知道的常用的Linux命令和它的功能

cat,显示文件内容。

cd,改变目录路径。

cp,复制文件。

find,查找文件。

grep,搜索、过滤信息。

ls,列出目录信息。

more,分页显示。

rm,删除文件或目录。

vi,调用vi文本编辑器。

who,显示登录用户信息。

2.HTTP/1.0 中,状态码 200 301 304 403 404 500的含义

200 - 服务器成功返回网页

301(永久移动)请求的网页已永久移动到新位置。

304(未修改)自从上次请求后,请求的网页未修改过

403(禁止)服务器拒绝请求

404 - 请求的网页不存在

503 - 服务器超时

3.请写出以下html标签的含义:input form script style table b img

写出PHP(或其他语言)的public、protected、private三种访问控制模式的区别?

属于OOP面向对象语言中的类中访问控制模式

Public可以外部访问

Protected,private只可以内部访问

Public,protected可以被继承

Private不可以被继承

5.请描述 PHP(或其他语言) Session 的运行机制,大型网站中Session方面应注意什么?

运行机制:客户端将session id传递到服务器,服务器根据session id找到对应的文件,读取的时候对文件内容进行反序列化就得到session的值,保存的时候先序列化再写入

注意:1,session在大访问量网站上确实影响系统性能,影响性能的原因之一由文件系统设计造成,在同一个目录下超过10000个文件时,文件的定位将非常耗时,可以通过修改php.ini中session.save_path设置两级子目录 ,session将存储在两级子目录中,每个目录有16个子目录[0~f],不过好像PHP session不支持创建目录,你需要事先把那么些目录创建好 。

2,还有一个问题就是小文件的效率问题,可以通过存储方式中的memcache来解决I/O效率低下的问题

3,session同步问题,session同步有很多种,如果你是存储在memcached或者MySQL中,那就很容易了,指定到同样的位置即可,还有一种方法就是在负载均衡那一层保持会话,把访问者绑定在某个服务器上,他的所有访问都在那个服务器上就不需要session同步了

6.简单描述mysql中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)

索引就相当于对指定的列进行排序,排序有利于对该列的查询,可以大大增加查询效率

建立索引也是要消耗系统资源,所以索引会降低写操作的效率

主键,唯一,联合都属于索引

主键属于唯一索引,且一个表只能有一个主键,主键列不允许空值

唯一索引可以一个表中可以有多个,而且允许为空,列中的值唯一

多个字段的多条件查询多使用联合索引

7.MySQL 数据库中 varchar和char的主要区别是什么,哪种查询效率更高,为什么?

varchar变长字符串,char定长字符串

Char效率更高,由于不需要对储存空间计算后在存储,所以效率更高

8.解释MySQL外连接、内连接与自连接的区别

Mysql外连接分为左连接(left join....on)和右连接(right join.... on),左连接是以左表作为条件查询关联右表数据,无对应数据则补空,右连接则相反

Mysql内连接(inner join.....on)是做关联查询时,内连接的特性是只显示符合连接条件的记录

Mysql自连接:在FROM clause(子句)中我们可以给这个表取不同的别名, 然后在语句的其它需要使用到该别名的地方用dot(点)来连接该别名和字段名

9.说说下面这些这些协议的全称和中文解释SMTP、POP3、HTTP、FTP、DNS

Smtp简单邮件协议

Pop3邮局协议

http超文本传输协议

ftp文件传送协议

Dns域名解析协议

10.javascript 包括那些基本数据类型?

数字,字符串,null,undefined,boolean

11.用css、html编写一个两列布局的网页,右侧固定宽度200px,左侧自适应

右边固定200px宽度
左边自适应

项目设计

假设有一个包含Tag功能的博客系统,数据库存储采用mysql,用户数量为1000万,预计文章总数为10亿,每天有至少10万的更新量,每天访问量为5000万,对数据库的读写操作的比例超过10:1。

你如何设计该系统,以确保其系统高效,稳定的运行?

提示:可以从数据库设计,系统框架,及网络架构方面进行描述,可以写代码/伪代码辅助说明,可以自由发挥

读写分离,读写服务器比例10:1,使用分页查询减少数据库压力,静态化分页后使用memcache分布式缓存,减少i/o开销和数据压力,增删改时删除对应的静态化数据,通过查询分页,分开静态化对应的分页信息缓存,数据库分库分表分区,使用lvs负载均衡,活跃和不活跃的文章进行分表存储,提高数据库中文章查询

效率,建立联合索引,提高查询效率,使用中文分词技术提高文章内容的查询效率

编写程序(请任选两题)

描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组

假设有"123abc456def789"这么一个字符串,写一个函数,可以传入一个字符串,和一个要截取的长度。返回截取后的结果。

要求:

1 标记不得计算在长度之内。

2 截取后的字符串,要保留原有标签,不过如果最后有一个标签没有闭合,则去掉其开始标签。

示例:

题中的字符串,要截取长度5,则返回的字符串应该为:123ab,要截取长度8,应返回123abc45。

function newsubstr($str,$num){

$strNeed = preg_replace(array('//','//'),array('',','),$str);

$arr = explode(',',$strNeed);

$arrCount = array_map('strlen',$arr);

$newstr = '';

if($num < $arrCount[0]+$arrCount[1] && $num >= 0){

$newstr .= ($num<=$arrCount[0]) ? substr($arr[0],0,$num) : substr($arr[0],0,$arrCount[0]).substr($arr[1],0,$num-$arrCount[0]);

}else{

foreach($arr as $key=>$val){

if( $key>1 && $num < array_sum(array_slice($arrCount,0,$key+1)) && $num >= array_sum(array_slice($arrCount,0,$key))){

//echo $key;

$newstr .= $arr[0]."{$arr[1]}";

for($i = 2;$i <= $key; $i++ ){

$newstr .= $i'.$arr[$i].'' : substr($arr[$key],0,$num-array_sum(array_slice($arrCount,0,$key+1)));

}

}

}

if($num >= array_sum($arrCount)){

$newstr = $str;

}

echo $newstr;

}

$str = '123abc456def789';

newsubstr($str,8);

3.一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。用程序模拟该过程。

function monkeyKing($n, $m) { //$n为猴子总数,$m为剔除猴子步长

$s = 0; //$s为大王坐标,只有一只猴子时,大王坐标为0

for($i = 2; $i <= $n; $i++) { //依次向后递推,求到共有$n只猴子,剔除步长为$m时的大王坐标

$s = ($s + $m) % $i; //大王坐标递推公式

}

return $s;

}

echo monkeyKing(6, 2);

4.翻转字符串中的单词,字符串仅包含大小写字母和空格,单词间使用空格分隔。

如:输入 “This is PHP”,输出 “PHP is This”

非必要请不要使用PHP自带函数

function myrev($str){

$arr = explode(' ',$str);

$num = count($arr);

for($i = 0; $i < $num/2; $i++){

$temp = $arr[$i];

$arr[$i] = $arr[$num-$i-1];

$arr[$num-$i-1] = $temp;

}

return implode(' ',$arr);

}

$str = 'This is PHP';

php折半查找面试题,php 面试题(一)相关推荐

  1. 2023前端面试题------JS 面试题(2) es6

    2023前端面试题------es6 面试题 三. JS高频面试题 15. 事件循环 16. 微任务和宏任务 17. http相关 18. 一个页面从输入 URL 到页面加载显示完成,这个过程中都发生 ...

  2. 2022年最新前端面试题、高频面试题、面试题总结

    文章目录 html面试题 js面试题 css面试题 vue面试题 react面试题 浏览器.项目优化.等其他类型高频面试题 html面试题 Doctype 作用 声明文档类型 HTML5 新增的内容有 ...

  3. ⑪(面试篇 2/3)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)

    iOS面试题 一共分为笔试题和面试题两部分 笔试题 一共分为10个 总共613题 面试题 一共400题 笔试题 一个10个系列 分别为 ①(语法篇) 共147题 已更新 ②(常识篇) 共72题 已更新 ...

  4. 腾讯后端面试题python_python技术面试题(十九)--腾讯

    正文共: 4171 字 6 图预计阅读时间: 11 分钟 因为去面试,停更了几天.在这次面试中,直接教会了我怎么做人......问的问题很深入,也让我明白了自己的水平.很简单的一个问题,深入之后,会衍 ...

  5. JAVA面试题和笔试题总汇(含答案)-联想lenovo

    ·         JAVA面试题和笔试题总汇(含答案)-联想lenovo · 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关 ...

  6. 安卓系统最新面试题(面试题整理,含答案)

    最近自己再找安卓系统方面的工作,所以安卓系统整体的知识点进行了整理,内容点涉及的比较多.可以选择自己不熟的层来看跟学习,如果小伙伴还有补充或者自己遇到的题,欢迎留言. 系统应用层: 四大组件:     ...

  7. 【100道面试题真题讲解】C++面试题讲解+JAVA面试题讲解+Linux面试题讲解+数据结构面试题+计算机网络面试题 讲解视频-持续更新中

    最近找到了一个非常好的公众号:IT笔试面试真题讲解,每天视频分享一道IT公司面试高频题目,完全免费哦,非常适合找工作的学生复习+总结+提炼. 白嫖不敢独吞,分享给大家,也给作者增加一点访问量,鼓励作者 ...

  8. 数据结构与算法(8-2)有序表查找(折半查找(二分查找)、插值查找)

    目录 一.折半查找(二分查找) 二.插值查找 总代码 一.折半查找(二分查找) 原理:一次次折半,不断向着查找值的位置靠近 . 适用场景:有序(必须) 流程:开始时,min标志首,max标志尾,med ...

  9. python123第k序元素查找_Python实现折半查找并用matplotlib实现动态过程可视化

    折半查找是算法中减治策略的基本例子,实现起来也很简单,但是在网上看到的图片教程不觉得很乾巴麽?? 在这里插入图片描述 这是一个简单的实现: def Reduction(lists, k): " ...

最新文章

  1. matlab绘制多条折线图
  2. 联想笔记本不能无线上网
  3. 数据结构——线性表:顺序表、单向链表、循环链表、双向链表
  4. 方立勋_30天掌握JavaWeb_request
  5. 拥抱.NET Core,跨平台的轻量级RPC:Rabbit.Rpc
  6. cannot resolve symbol xxxx问题
  7. 中国离婚大数据:离婚/结婚比东北三省和四大直辖市霸榜
  8. 弹性布局(Flex)布局介绍
  9. 关于linux下的共享库(动态库)和静态库
  10. 随机森林实现回归预测(糖尿病数据集)
  11. 二十分钟精通排版神器Markdown,从此word和秀米是路人
  12. 十一假期,终于过上了理想的生活节奏
  13. 《Intel汇编语言程序设计》环境搭建
  14. mysql 使用idb文件恢复数据
  15. Clickhouse多磁盘存储
  16. ads1278_ADS1278
  17. 解决:ActiveX控件不能使用
  18. 虚幻4 游戏引擎 C++编程 官网例程解析
  19. 洛谷P2141珠心算测验 C++解法
  20. android 内存优化 性能优化

热门文章

  1. 百度蜘蛛(BaiduSpider)IP段详细情况介绍
  2. 面试题4,打印出100-999所有的“水仙花数”。
  3. 反射例子(配置文件)
  4. Linux 服务器注意事项
  5. 推荐一些经过实践检验的学习方法
  6. PHP中__get()和__set()的用法实例详
  7. 学习编程,英语很重要!!
  8. 冯诺依曼计算机结构教案,冯诺依曼结构的计算机-同济大学精品课程.PPT
  9. linux 7 services设定,CENTOS/RHEL7系统中设置SYSTEMD SERVICE的ULIMIT资源限制
  10. java 日期类代码_java 日期时间处理类