【转】2012年7月9 – 知名网页游戏公司 PHP高级工程师 最新面试题
开头先唠叨两句,今天下午,上海的天热的让人窒息啊。Google下地图,好远!要做公交,想想就是人挤人。咬了下牙,打的,尼玛百来块啊,有木有!麻麻的,更让我萌生买车的决心了。
到了公司,环境不错。前台拿来几张试题,让笔试。浏览了下,又是全能卷,这也见惯了,新奇的是另一个小细节,每张卷子的左下角都标示“绝密”二字!尼玛你当这是高考啊。
印象深的有如下几题。
setTimeout和setInterval区别。
setTimeout 延迟执行函数,只执行一次。
setInterval 定时执行函数,间隔时间反复执行。
有一字符串,$str = “<script>alert();</script>”,过滤只剩alert();
$str = preg_replace(“/<script>|</script>/”,’’,$str);
$str = strip_tags($str);
给一链接http://www.google.com.hk/search?q=youxi。取出其中所有的链接地址,保存到url.txt文件中。
$str = file_get_contents(“http://www.google.com.hk/search?q=youxi”);
preg_match_all(“/href=”(.*?)”/i”, $str,$matchs);
foreach($matchs[1] as $u){
if(empty($u))continue;
$url .= empty($url)? $u : “ $u”;
}
file_put_contents(“url.txt”,$url);
Linux的计划任务什么,有什么注意点。
cron编辑计划任务。
注意点:cron任务,最小单位为分钟。(当时就写了这么多了,没办法linux上我还是小菜。)
下面为网上找的内容:
crontab -e编辑定时任务,crontab -l查看。最后的cron任务文件保存在/var/spool/cron/crontab目录下
cron会切换到/var/spool/cron/crontab目录下cron文件的owner这个用户,然后执行定义的定时任务。
cron切换用户的时候,任何环境变量,包括.bashrc都不会被执行到。所以诸如$HOME这样的变量也是没有定义的。所以,一般在定时任务的脚本中,我们会这样处理:
#!/bin/bash
HOME=/home/markz
source ${HOME}/.bashrc
export PATH=/usr/local/bin:$PATH
然后才是具体的要执行的任务。
有一点注意,~/.bashrc往往都含有大量的定义和脚本执行,这有可能会影响到 source的成功执行。我们之所以在需要cron的脚本中加入这句source,大多数情况下是为了定义一些环境变量。所以为了让source能保证成 功,一般我们都会把需要的环境变量单独存放到一个文件中,然后去source那个文件即可。直接source ~/.bashrc不是一个好的做法。
/var/log/syslog保存了cron的log,查看该log可以方便的知道定时任务执行的一些情况。
编写一个shell,把当前目录下所有包含2008-10文件名的.log后缀的文件内容。全部写入到一个大文件all.log里。
附加题
如果你有一个女朋友,经常让你改变自己的生活习惯,比如不许你喝酒。每天洗澡,每天9点就睡觉等习惯,否则就分手。你会?
答:这个得教育。(当时没这么写啦!哈)
一个和尚从山下跳水到山顶的速度是5公里没小时,请问下山的速度是多少可以是上山下山的总评价速度达到10公里每小时?
答:(5x+vy)/(x+y) >= 10
y >= 5x/(v-10)
5/(v-10) <= 1 //画个图一目了然。
v-10 >= 5 //5公里上山,10公里平均,下山的v必定大于10,也就是v-10大于0,直接去分母。
v>=15
如果你需要保存一下的内容。某个人所加入的所有团队,某个团队内所包含的人。在c++中,你选择哪种容器?
答:…(哥都几年没碰c++了)
你现在要做的是一套图片管理系统。关于用户图片上传。你是如何尽量避免1,图片被盗用?2图片重复上传?你的图片上传保存目录如何设置?
答:编写.htaccess文件,防止盗链。
上传按钮按下后立即失效,不允许重复提交。处理页不允许刷新F5。
按月份分目录存放。
口试:(哇,有含金量的。面试我的是大牛。年龄!气质!)
设计一个快速登陆接口。有1千万乃至1亿的用户量。
答:哇喔,数据量蛮大的哦。先拆分表吧。
恩,这个是第一步,你怎么拆了?
用户id吧,最简单的了,不管是硬性数量一张表,还是某种算法一张表,查找用户资料很方便。
恩,这是一种分表方式。不过我们的需求是登陆接口。那时我们还没有用户的id,我们怎么查找了?
哦,对了。呵呵,这个,你让我想想!用户名首字符?
有中文用户名的。
哦,想想。额,把用户名MD5为32位字符串,不对哦,MD5没规则啊!额,怎么定位了,想想啊!
MD5没规则吗?
额,这个我还真不知道,没规则吧?真没关心过这个问题。有规则么?
MD5是32位字符串吧!只有数字和字符吧?
恩,这个是的!
那范围你知道吗?比如MD5是0-9和a-多少z吗?
f吧?不是十六进制么?
那有什么规则么?
这个还真没注意过哦!
哦,那接下来登陆接口怎么做了?
MD5后,是32位字符串,恩,想想,把数字和字母相加得一个数字。
字母和数字怎么加了?
数字和Ascii相加啊,最小全是0,最大全是f相加。然后得具体的值,比如1-10放table1里,10-20放table2里…
恩,为什么要相加了,你已经有数字和字母的ascii了,也就是全数字了。
我不知道MD5有什么规则啊,只能这样把他们相加得一个值,然后去做相应的算法我有把握!
你了解什么登陆通行证?就好像我在a.com网站登陆了,b.com中也能登陆。怎么做?
你说的相当于discuz中ucenter用户中心对吧?用户所有登陆信息都会到这个用户中心进行验证,验证机制就太多了,web service ,rest,socket随便什么。具体的应用中也有一个备份,毕竟两个应用,耦合的太紧问题就来了。
摘自:http://www.lnmper.net/?p=23
【转】2012年7月9 – 知名网页游戏公司 PHP高级工程师 最新面试题的更多相关文章
- 【转】2012年6月25 – 某欧美上市企业PHP工程师最新面试题
笔试: 尼玛,连页眉页脚都是英文!不过都还能读懂.题目很简单.印象深刻的有几题. 具体题目忘了,主要知识点考点是,建立的视图,实现有自增字段. 答:之前还真没考虑过这个问题.当时条件发射,给了一个用户 ...
- 2012年5月阿里巴巴集团”去 IOE”运动的思考与总结【转载+整理】
原文地址 什么是 IOE,IOE 只是一个简称,分别代表 IBM.Oracle.EMC,确切地说是 IBM 小型机.Oracle 数据库与 EMC 存储设备的组合.这"三驾马车"构 ...
- arpg网页游戏之地图(二)
[转]http://www.cnblogs.com/BlueWoods/p/4684557.html 这一节说说视窗,这个视窗,也就是游戏的视角.现在的网页游戏分为2D游戏,2.5D游戏和3D游戏,2 ...
- 40个容易上瘾的HTML5网页游戏,总有一款适合你
我记得姐姐家的孩子在刚刚才学会走路,说话还不能完整的时候就已经能自己用小手点出小游戏的网站来一个人自娱自乐.我一直在想这一代跟着计算机一起茁壮成长的孩子会不会也和美国那一代人一样,出现9岁的黑客和计算 ...
- 2018年4月更新70多个公司dnc招聘职位
2018年4月更新70多个公司dnc招聘职位 请在本页回复,补充dnc招聘信息.公司案例 dnc简介 dnc = .NET Core.dotnet Core简写 dnc是微软新一代主力编程平台,开源. ...
- Unity网页游戏
Unity网页游戏是跑在浏览器的UnityWebPlayer插件中的,运行的模式是webplayer.unity3d+html 在嵌入UnityWebPlayer的网页中会调用UnityObject2 ...
- qq开放平台可以应用到网页游戏的api整理
创建角色界面api整理 一.需求描述 1. 创建角色名称可以用qq空间昵称代替 2. 如果玩家是在新区玩的话,赠送老玩家支持礼包 3. 可以看到,好友xxx也在玩,而且到了多少等级,如果加为好友 ...
- 美国知名Cloudflare网络公司遭中国顶尖黑客攻击
最近中美贸易战愈演愈烈,美国知名Cloudflare网络公司的客户的分布式拒绝服务攻击今天在恶意流量方面达到了新的高度,黑客并袭击了该公司在欧洲和美国的数据中心.根据Cloudflare首席执行官马修 ...
- 推荐21款最佳 HTML5 网页游戏
尽管 HTML5 的完全实现还有很长的路要走,但 HTML5 正在改变 Web,未来 HTML5 将把 Web 带入一个更加成熟和开放的应用平台.现在,越来越多的人尝试用 HTML5 来制作网页游戏等 ...
随机推荐
- 统计学习方法三:K近邻
一.什么是K近邻? K近邻是一种基本的分类和回归方法. 在分类时,对新的实例,根据其K个最近邻的训练实例的类别,通过多数表决权等方式预测其类别. 通俗的讲,找K个和其关系最近的邻居,哪个类别的邻居多, ...
- 防范SQL注入
使用占位符的方式写查询语句hibernate
- nio笔记
http://blog.csdn.net/z69183787/article/category/2191483此人的博客 首先你要知道阻塞和非阻塞的概念,阻塞体现在这个线程不能干别的了,只能在这里等着 ...
- mysql军规
总是在灾难发生后,才想起容灾的重要性.总是在吃过亏后,才记得曾经有人提醒过. 一,核心军规 不在数据库做计算,cpu计算务必移至业务层 控制单表数据量,单表记录控制在千万级 控制列数量,字段数控制在2 ...
- HDU 17111 Number Sequence(KMP裸题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1711 题目大意:给你两个数字数组a和b,若b是a的子序列则输出b在a中第一次出现的位置,否则输出-1. ...
- golang之结构体和方法
结构体的定义 结构体是将零个或者多个任意类型的命令变量组合在一起的聚合数据类型.每个变量都叫做结构体的成员. 其实简单理解,Go语言的结构体struct和其他语言的类class有相等的地位,但是GO语 ...
- vue 条件渲染与列表渲染
本文是对官方文档的整理 因为 v-if 是一个指令,所以必须将它添加到一个元素上.但是如果想切换多个元素呢?此时可以把一个 <template> 元素当做不可见的包裹元素,并在上面使用 v ...
- linux 大法
实验楼 练习 小笔记 可以输出图形字符的命令banner 你可以先使用如下命令安装: $ sudo apt-get update $ sudo apt-get install sysvbanner 然 ...
- SQLyog-12.0.9-0.x64
SQLyog-12.0.9-0.x64 下载地址 链接:https://pan.baidu.com/s/1AjC2rdx8Bgtns1sYmN5NEw 提取码:icko 注册码: 姓名(Name):c ...
- NOIP2012 D2 T2借教室
先上题目 题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息 ...