面试题目<转载>
1:检测一个变量是否有设置的函数是否?是否为空的函数是?(2分)
2:echo(),print(),print_r()的区别(3分)
3:表单中 get与post提交方法的区别?
4:session与cookie的区别?
5:用PHP打印出前一天的时间格式是2015-8-10 22:21:21(2分)
6:能够使HTML和PHP分离开使用的模板引擎(1分)
7:使用哪些工具进行版本控制?(1分)
8:如何实现字符串翻转?(3分)
9:有一个网页地址, 比如PHP开发资源网主页: http://www.baidu.com,如何得到它的内容?($1分)
10:在PHP中error_reporting这个函数有什么作用? (1分)
11:JS表单弹出对话框函数是?获得输入焦点函数是? (2分)
12:foo()和@foo()之间有什么区别?(1分)
13:GD库是做什么用的? (1分)
14:写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。
15:写出 SQL语句的格式 : 插入 ,更新 ,删除 (4分)
表名User Name Tel Content Date
张三 13333663366 大专毕业 2006-10-11
张三 13612312331 本科毕业 2006-10-15
张四 021-55665566 中专毕业 2006-10-15
(a) 有一新记录(小王 13254748547 高中毕业 2007-05-06)请用SQL语句新增至表中
(b) 请用sql语句把张三的时间更新成为当前系统时间
(c) 请写出删除名为张四的全部记录
1:说说项目(他比较感兴趣360老兵那个项目,其他项目没有看)
问项目的具体内容,遇到的挑战,具体解决办法,缓存的使用,为什使用redis,为什么使用独立文件服务器。
2:缓存
问了memcache与redis的区别,redis的优势之处。怎样解决memcache命中率低的问题,问了在实际项目中memcache命中率。是否部署过redis服务器。
3:svn与git 的区别
让说具体的工作流程,使用git 的好处,以及怎样处理冲突,基本的命令写了两个。
4:数据库
1:数据库的存储引擎,myisam与innodb的区别,说出除了这两种外的其他存储引擎。
2:int 与bigint的区别,实际使用的时候主键选择哪个?int(10)与int(11)的区别,var_char与char的区别
3:数据库设计,用户表与登录表分开的好处,
5:php部分
1:session与cookie的区别
2:分布式怎样解决session共享问题(可以从数据库,ccookie存session,nosql方面解决)
3:get与post的区别
4:php __autoload机制
6:计算机网络
1:三次握手与四次挥手的过程(主要是画图),各个参数的含义
2:http与https的区别,https怎样保准安全(结合ssl)
7:数据结构
1:链表的结构体(线性和链式),插入一个元素的操作代码(纸上写)
2:排序部分,时间复杂度,写出一个排序算法。
3:二分查找的思想,时间复杂度
8:开发环境
linux常用命令,apache与ngiax的区别,平常用的开发环境是win还是linux,代码风格等等
4:填空:(主要写结果)
判断null的函数 判断变量是否存在的函数 判断是否为空的函数
主要考察:empty()、is_set和is_null的区别,empty(0),empty(null),empty("")等于多少?
5:php转换json为数:组的函数
主要考察json_decode()与json_encode()的区别,需要注意json_decode() 第二个参数的含义,因为题目中说的是返回数组
6:php 得到前一天的日期,格式如下(2015-08-24 10:20)然后写入到文件 /usr/test中
主要考察 php时间函数可以使用strtotime()(有多种方法),文件的读写操作,注意代码的完整性,打开文件失败或者文件不存在的情况也需要考虑。
7:提取url,要求从"<a href='http://www.sina.com.cn'>sina</a>"中提取url部分(要求使用两种方法)
考察正则表达式和字符串处理,常见的正则表达式要会写,邮箱,url, html 这几个出场率比较高,一定要会写
8:连续子数组的最大和例如输入数组为{1,-2,3,10,-4,7,2,5}最大的子数组{3,10,-4,7,2}和为18
详解可以看剑指offer上171页原题,建议大家可以多看看剑指offer,自己要动手写一遍,下面是琦守总结的大家可以看看:http://blog.csdn.net/qishouzhang/article/details/47668897
9:写出常见的linux命令功能:top、ps、mv、find、df、cat、chmod、chgrp、grep、wc
top:命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
ps:查看进程 mv:移动或者更改文件
find:在子目录中搜索匹配的文件 df:linux中df命令参数功能,检查文件系统的磁盘空间占用情况。
cat:把一个或多个文件内容显示到标准输出 chmod:改变文件属性
chgrp:改变用户分组 grep:在文件内进行搜索
wc:命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。
对于linux简单常用的命令要知道,大家可以看看《快乐的Linux命令行》pdf分享地址:http://pan.baidu.com/s/1jGENl5O
10:写出linux查看80端口的命令
11:有一个ip日志文件每行一个ip,统计某一个ip出现的次数
12:数据库设计,有一个发布文章的数据字段:文章id,文章标题,发表人,类别id,子类别id,文章所属地id,创建时间,状态
问题:1:划出数据库设计图(表之间的关系),表可以自己添加,说明这样设计的目的,好处
2:写出创建创建文章表的语句,说说选择字段的依据。
3:写出查找最新发表的10篇文章的sql语句,说说优化的方法。
13:
系统设计 --
场景:现在要做一个用户日程提醒系统,需求如下,可以记录用户每天的日程,代办日程到了以后,以短信或者是邮箱的形式通知用户,用户可以查看历史日程,可
以管理自己的日程(增删改查),用户有好友,可以查看好友开放出来的日程,可以进行好友聊天。
要求:1:考虑并发性。2:用户量在千万级别,日程数量在亿,10亿级别 3:保证安全、首页家在流畅 4:使用缓存服务器
问题:1:你感觉这个系统的难点在什么地方
2:这个系统各个模块之间的关系,
3:这个系统实施的具体细节(缓存,大数据方面)
4:系统的安全性怎样保证
1:我这个系统的数据表设计(保证基本功能就行)
我回答: 用户表,日程表,用户好友的关系表,用户日程的关系表 ,他说可以
2:这个系统当用户比较多的时候可能反应较慢,怎样解决
我回答:利用缓存来解决频繁的数据库查找,他问怎样缓存,我说用户的好友关系、好友的历史日程,我的历史日程可以缓存,他问当好友关系发生变化的时候怎样
处理,一开始我说清除缓存,下次查询直接查数据库,他说这样不好,这样数据库压力瞬间变大,让我再想想,我说可以清除缓存的后在查数据库恢复缓存,他说不
是最好的解决方法,最后他说可以先更新数据库,然后根据更新的好友关系在更新缓存(少查了一次数据库),我感觉影响不大吧!反正没想到那一点。
3:这个系统的首页加载比较慢怎样办?
开始我说,采用页面静态化,他说首页是动态加载,页面静态化没有效果,反而会拖慢系统,文件io需要消耗性能,让我想想还有什么办法,我说缓存首页数据,他说可以,但是要注意缓存更新时间
4:登陆问题,慢慢的系统的登陆比较慢,你知道为什么吗,怎样解决
我说应该是用户量太大,登陆的sql语句优化不好,或者是没有家索引,他说加上索引并且sql优化到最好,还是比较慢是什么问题,我说是用户量实在太大
了,超出了mysql的单表容量了,他说是的,他又问该怎么解决,有什么好的办法。我说可以水平拆分,缓解数据增长的压力,他说什么是数据库拆分,水平拆
分和垂直拆分有什么区别我说垂直拆分解决表与表之间的io竞争,不解决单表中数据量增长出现的压力,把不向关的表放在其他的服务器上,水平拆分解决单表中
数据量增长出现的压力,不解决表与表之间的io争夺,感觉自己不是多懂(大家可以参考http://database.51cto.com/art
/201108/282431.htm),他说怎么拆分依据是什么(我对拆分只是了解,所以感觉完蛋了)我说可以按照时间拆分,他说这也可以(突然轻松好
多)
他说但是这样的拆分没有一点用(无语啊。。。),我说我对数据库拆分不是多了解您能不能多问点关于php的,他说没事,我就是看看你数据库了解多少(手心
冒汗。。。),他说你再想想,为什么这样不行,我说我感觉可以,拆分之后单表数据变小了,查询肯定快啊,他说你登录的时候怎样确定用户在哪个表里面呢?我
说在hash把用户与分表的关系hash到一个表里面,他说不是最好的解决办法,并且hash的麻烦,需要确定那张表才能进行查找。。。他让我再想想,我
从存储过程,数据库缓存来说(说了好多,感觉没用),最后他说不好使,他说你可以采用用户名分表,用户名(a-z)分26个表,登陆的时候一下就可以找到
他在的那张表了,我说可以,这个问题大约谈了30分钟,回答的不是多好
5:第三方登录问题
他问我做过第三方登陆没有,我说我自己尝试过,利用qq做第三方登录,主要调用的腾讯提供的的接口,他又问我第三方登陆的原理,奥师认证方面的,原理,说说https的安全传输原理
6:接口
他问我做过接口没有,我说做过,他问接口怎样判断用户登录,我说是生成token,他问token的生成原理,token的安全怎样解决,token被劫
持了该怎样半,有什么好的办法。token被劫持我不知道该怎么处理,这个可以查一查,反正当时我没想到好办法,我从token的生成规则,过期时间,添
加令牌方面回答的,他说还可以。
总结:这一面比较累,主要还是数据库设计,优化,处理大数据不太懂,所以有点吃力,我极力向php让缅靠拢,但是人家是搞数据库的。唉!
1:mysql的索引是那种数据结构,为什么使用这种数据结构。
2:设计一个数据表,用来存储url信息,此表会经常发生插入删除操作,应用场景是查找某个url是否存在,请写出表结构,并加说明。
3:比较单词a 和 b判断b单词的字母是否都在a中。
4:写一个timer类,用来统计应用程序的运行时间,并写出调用方法。
5:session与cookie的区别,说明禁用cookie后 session还能不能运行,可以参考(http://www.cnblogs.com/zyf-zhaoyafei/p/4477175.html)
6:新浪微博一年产生的数据量是多少,应该怎么存储这些数据。
7:状态吗:204,304,404的含义,可以参考(http://tool.oschina.net/commons?type=5)
8:介绍你了解的开源项目
一面:技术面。问题:
1:介绍php的魔术方法
2:索引的最左原则,可以参考(http://blog.csdn.net/shangxiaoxue/article/details/7514187)
3:数据库sql的优化,哪些sql语句执行会忽略索引。
4:策略问题: 4个人过桥,a要1分钟, b要2分钟,c 要5分钟,d要10分钟,两人同时过桥,过桥速度以慢的为准,一人拿手电,过完桥后一个人吧手电送回来,问最快多长时间过完桥。
二面:技术面。问题:
1:说说项目,还是360老兵那个,快会背了。。。。
2:浏览器输入url到页面呈现,经过的过程,这个可以先从浏览器->DNS->三次握手建立连接->apache解析页面->cgi与fastcgi的解析过程->呈现页面->4次挥手(或者是保持长连接)
3:mc与redis的区别,内存管理方面。
面试题目<转载>的更多相关文章
- 2016年Web前端面试题目汇总
转载: 2016年Web前端面试题目汇总 以下是收集一些面试中经常会遇到的经典面试题以及自己面试过程中未解决的问题,通过对知识的整理以及经验的总结,重新巩固自身的前端基础知识,如有错误或更好的答案,欢 ...
- 面试相关-转载-well,yzl——持续更新
转载yl,yzl大神的面经,顺便自己复习一下专业课的内容 操作系统相关: 什么是进程, 什么是线程.它们之间的区别和联系. 进程管理内存资源+运行过程, 线程只管理运行过程, 线程要在进程提供的资源基 ...
- 前端面试题目汇总摘录(JS 基础篇)
JS 基础 JavaScript 的 typeof 返回那些数据类型 object number function boolean undefined string typeof null; // o ...
- 【转】React 常用面试题目与分析
作者:王下邀月熊链接:https://zhuanlan.zhihu.com/p/24856035来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 本文有一定概率为水文,怕 ...
- 关于 Kafka 的一些面试题目
上周客串了一下面试官,在这里就简单记录一下期间我问到的一些关于 Kafka 的面试题目,这些都是我平时在学习 Kafka 的一些总结要点. 谈谈你对 kafka 的整体认识? 问这个问题主要是想知道面 ...
- 全网最全C#实习面试题目
整个内容是我在春招面试时候整理的一些题目,里面涵盖有网上搬运的(由于当时没有记录来源,如果有转载没标注来源,请与我联系),还有我面试到的.整个排版很乱,后期我会一步一步整理.整个内容大概快有两万字.整 ...
- HTML/CS3相关面试题目
一.HTML/CS3基本面试题目. 1. 常用那几种浏览器测试? 1.1浏览器:IE,Chrome(谷歌),FireFox(火狐),Safari(苹果计算机的最新操作系统Mac OS X中的浏览器,使 ...
- PHP面试题目搜集
搜集这些题目是想在学习PHP方面知识有更感性的认识,单纯看书的话会很容易看后就忘记. 曾经看过数据结构.设计模式.HTTP等方面的书籍,但是基本看完后就是看完了,没有然后了,随着时间的推移,也就渐渐忘 ...
- 总结CSS面试题目的考察点及常见布局问题整理
整理网上流传的若干份面试题目,突发奇想,总结关于CSS面试题目的考察点,发现问题大多围绕几个属性和几种题目,水平有限,仅供参考. 写这个博文内心有种莫名奇妙的自我谴责感,实在不应该把面试层叠样式“应试 ...
随机推荐
- 如将Myeclipse项目改成Eclipse项目
由于项目需求,需要将原来Myeclipse项目转移到Eclipse中去.搞了半天才搞出来,分享给大家,希望对大家有用. 首先导入一个从Myeclipse导出的项目 然后无法进行tomcat发布. 但是 ...
- elementUI 列表里面含有多选框,当翻页的时候依然保持之前页多选不变
el-table的type="selection"的使用 场景:el-table,type="selection"时,重新请求后,设置列表更新前的已勾选项 踩坑 ...
- SQL Server DATEADD() 当前时间减7小时
- [转][osg]探究osg中的程序设计模式【目录】
作者:3wwang 原文接连:http://www.3wwang.cn/html/article_104.html 前序 探究osg中的程序设计模式---开篇 探究osg中的程序设计模式---创造性模 ...
- Python3基础 内置函数 hash
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- pytorch 不使用转置卷积来实现上采样
上采样(upsampling)一般包括2种方式: Resize,如双线性插值直接缩放,类似于图像缩放,概念可见最邻近插值算法和双线性插值算法——图像缩放 Deconvolution,也叫Transpo ...
- Hadoop记录-部署hadoop环境shell实现
#!/bin/bash menu() { echo "---欢迎使用hadoop部署管理程序---" echo "# 1.初始化Linux环境" echo &q ...
- Zabbix 3.2.6-Mysql多实例监控-Percona Monitoring Plugins自动发现
mysql多实例监控实录 系统环境: cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) 内核版本: uname -r 3.1 ...
- yaml文件实例:nginx+ingress
[root@lab3 nginx]# cat nginx-test.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata: nam ...
- webpack配置babel-loader
需要安装的插件: cnpm i -D babel-core babel-loader babel-plugin-syntax-jsx babel-plugin-transform-runtime b ...