腾讯面试(WEB高级应用开发工程师<PHP>)非答案啊!!!

开始正题之前,容博主啰嗦两句吧,呵呵。(你也可跳过直接到红色字体看题!)

腾讯一直是我很敬重的企业,尽管小企鹅在战略上饱受争议,正面的,负面的我就不一一列举了,但又怎样?在中国,他还是能如微软一样,渗透到每一个用户的日常生活中去,这样的成绩,恐怕在世界范围内也没有多少吧!想进去自然困难丛丛,面试周期达一个月之久。技术面试只占四分之一,剩下的都是人品关!我勒个去!你知道技术对鄙人还算凑活,可这RP,我是一直持保留意见的!不过话说回来,咱可以装么!说我就喜欢你们加班,你不加班,我跟你没完!阿门!

笔试(45 minute):(本来是四张纸,被我弄丢了一张!无伤大雅,难度级别不会有出入)

注意:由于时间紧迫和水平有限,难免有不足或错误,请指证,虚心学习!

[PHP]

写出PHP中至少5个全局变量,并说明其作用与用法。

1. $_GET :浏览器URL传递过来的QUERY部分,被PHP内核创建的全局变量。

2. $_POST:由HTTP提交(POST)过来的大文本内容,被PHP内核创建全局变量。

3. $_COOKIE :客户端保持机制所需的全局变量。

4. $_REQUEST :由以上三个变量的集合体。

5. $_SESSION :客户端与服务器端得保持机制所需变量。

写出PHP获取客户端与服务端得代码。

$_SERVER[‘REMOTE_ADDR’]

gethostbyname($_SERVER['HTTP_HOST']);

打印出前一天时间,格式:YYYY-MM-DD HH:II:SS

echo date(“Y-m-d H:i:s”,strtotime(“-1 day”));

说明include与require的区别是什么?为避免重复包含一个文件,会用?语句代替他们

1, 别包含脚本有错误时,抛出错误级别不同。前者为警告,并继续运行。后者为严重错误,并终止程序运行。

2, 返回值不同,前者有返回值,后者没有返回值

3, 前者可用于条件语句中,分支包含。后者不可。

4, include_once require_once

请写一个函数验证电子邮件的格式时候正确

<?php
function vaildate_eamil($email) {
if (empty($email))
return false; if (preg_match("/[0-9a-zA-Z-_]+@.[0-9a-zA-Z-_]+/", $email) !== false) return true; return false;
}
?>

使用php写一段简单的查询,查出所有姓名为“张三”的内容并打印出来

表名:User

Name Tel Content Date

张三 133336633666 大专毕业 2006-10-11

张三 136336633666 本科毕业 2006-10-15

张四 021-55665566 中专毕业 2006-10-15

根据上面要求完成代码:

<?php
$query = mysql_query("select * from User where Name='张三'"); while ($row = mysql_fetch_row($query)) { $result[] = $row;
} var_dump($result);
?>

判断一个变量是否设置函数是?判断一个变量是否为空函数是?

isset();empty();

请用PHP输出下面JSON代码,不能用字符串拼接来实现。

var jsonstr = {

	fruit : [
{
apple : ”苹果”
},
{
bana : ”香蕉”
}, ] }

//

<?php

$str = json_decode($jsonstr);

foreach ($str->fruit as $s) {

	echo $s->apple;

	echo $s->bana;
}
?>

请简单描述下PHP中session的存储方式以及如何操作session

PHP将session存储在server端,client端用cookie存储对应的sessionid用于保持。

PHP中由内核建立的全局变量$_SESSION用于存取session。使用前需用session打开session会话。

PHP中如何设置错误级别,分别说明在配置文件和代码中的设置方法

配置中

error_reporting =

代码中

error_reporting()函数

[MYSQL]

有一个游戏道具赠送的营销活动,每天有1000W用户参与量,需要提供给玩家查询一天的领奖记录。数据库设计时应该注意哪些点?

提示:

1.按每天3小时(10800秒)的峰值算,1秒的峰值会有近1000的访问。

2.假设赠送环节也是需要营销活动开发侧控制,赠送是调用游戏的接口发货,游戏借口提供给单活动的发货速度是100/s。

1,用户id为主键

2,时间与用户id建立联合索引,加快搜索某一用户一天内的记录

3,1000w数据量太多,要进行水平分表。分表依据为用户id。

4,加大my.cnf中的最大链接数。为1500吧

[C]

char x[]=”abcdefg”;

char y[] = {‘a’,’b’,’c’,’d’,’e’,’f’,’g’};

下面正确的是:

A,数组x和数组y等价。

B, 数组x和数组y的长度相同

C, 数组x的长度大于数组y的长度 正确

D,数组x的长度小于数组y的长度

char str = “Hello”;

char *p = str;

int n=10;

请计算

sizeof(str) = ? 6

sizeof(p) = ? 6

sizeof(n) = ? 4

void Func(char str[100]){

请计算 sizeof(str) = ? 100

}

char *p = malloc(100);

请计算

sizeof(p) = ? 100

[HTML]

请写出下面form在提交后的URL

<html>

<head>

<title>登陆</title>

</head>

<body>

<form action=?”login” method=?”get”>

<p>用户名<input type=text name=’name’ size=’10’ maxlength=’20’></p>

<p>密码<input type=passwd name=’pass’ ></p>

<p> <input type=submit name=’submit’ ></p>

</body>

</html>

上面的页面的url是http://www.qq.com/bbs/login.html中,如果在用户名输入username,口令输入:123456,请写出点击submit按钮后,在浏览器的显示地址的URL:?

如果将第四行的form提交方式method改为post了?

1,http://www.qq.com/bbs/login&name=username&pass=123456&submit=submit

2,http://www.qq.com/bbs/login

[UNIX]

尽量多的写出你所知道的UNIX中的信号量,以及其含义。

1, SIGHUP

退出系统发出的信号

2, SIGINT

程序中断发出信号,ctrl+c可触发

3, SIGQUIT

程序退出发出信号,会记录日志

5,SIGTRAP

中断或其他自陷指令

9,SIGKILL

结束程序,非阻塞,不可忽略

15,SIGTERM

结束程序,阻塞,会被忽略

17,SIGCHLD

子进程结束,父进程接受到此信号

运行命令ls –l 后显示下面结果

-rwxrwxrwx 1 root root 1393 jul 2 11:30 test

drwxr-xr-x 2 edit users 4096 jun 23 17:26 pay

上面每行中有7个部分表示的含义依次为:

1. 文件类型与权限

2. 文件外部被链接数。软、硬链接

3. 文件用户

4. 文件所属组

5. 文件大小

6. 文件创建日期

7. 文件名

第一行中的-rwxrwxrwx各个字母含义:

-文件类型,非目录

rwx:user拥有所有权限

rwx:group拥有所有权限

rwx:other拥有所有权限

第二行中的drwxr-xr-x各个字母含义:

d:表示为目录

rwx:user拥有所有权限

r-x:group拥有read与execute权限,无wirte权限

r-x:other拥有read与execute权限,无wirte权限

[口试]: (节选)

设计几个表,可以反映用户的权限。类似用户-角色-权限这样的模式

答:略

怎么查询一条sql是否启用了索引

答:explain

explain,可以看到索引级别,你知道索引级别是什么?有多少种?

答:额。。。这个不知道。

没了解过对吧?有8中级别。可以在explain中看到的。

答:是最后一个字段吗?我怎么记得好像是表示此次sql扫描的行数啊?

恩,是行数。也是级别(具体当时他怎么说的我现在有点记不住了,可能不是这么说的,反正就知道索引有个级别这玩意,在去google呗!)

答:哦,好像很厉害的样子!

分表算法中,怎么决定用哪一个整数去取余?类似若用电话号码的后四位来作文分表依据。我们准备分15张表。

答:15

分表的时候,分多少张表,有什么依据吗,我们怎么知道就要分15张表。

答:这个。。。不知道啊

换个说法,你知道Mysql中为了使一张表能很好工作时,应该将记录维持在多大数据量

答:几百万吧?

你没了解过对吧?额,在mysql中200w一张表可以良性工作。这样我们就知道该分几张表了。

答:哦,好像很厉害的样子!

说说mysql主从数据库架构

答:见我前面的面试文章,答过太多次了(做的推广,哈哈)

说说Mysql在设计上你所知道的所有优化方式

答:1:建立索引,不能太多。看where需求,能建立联合就建立联合,而后考虑建立单字段索引

2:分表或mysql5.1后的partition分区(没用过!)

3:字段类型能用char就不用varchar,能用varchar就不用text,字段长度要尽量接近需求,能为1的,不设置2,。。。

4:数据表的引擎,根据需求选择最优的

5:链接数过多,可适当增大mysql的最大链接数

6:mysql主从。做读写分离。

char和varchar的有什么区别

答:char是定长的,搜索快。Varchar不定长,在内部存储的时候,字段前几位会把长度先存下来,这样才能知道结束位置,不过这样也还是解决不了他慢的问题。这是我猜的,是不是它不定长,所以内部的算法是递推,然后就慢了?而char定长的,能实现O(1)的存取速度?

在css中,若有两个div,若想使他们有上下层叠的效果,怎么做

答:z-index

我们系统要用到css3,html5掌握怎么样。

答:还行

切过图么

答:没有,不会

摘自:http://www.lnmper.net/?p=21

【转】2012年7月12 – 腾讯公司 WEB高级应用开发工程师 最新面试题的更多相关文章

  1. 2012年7月12 – 腾讯公司 WEB高级应用开发工程师 最新面试题 [转]

    笔试(45 minute):(本来是四张纸,被我弄丢了一张!无伤大雅,难度级别不会有出入) 注意:由于时间紧迫和水平有限,难免有不足或错误,请指证,虚心学习! [PHP] 写出PHP中至少5个全局变量 ...

  2. 【转】2012年6月26 – PPS网络电视PHP工程师最新面试题

    每一次面试都是一场较量,和面试官,更是和你自己! 前言:虽然面试职位是PHP工程师,但题目仅绝非限于PHP,甚至都没有多少PHP的题!inner peace!希望能给你带了一丝帮助. PPS网络电视面 ...

  3. 【转】2012年6月26 – 盛大PHP工程师最新面试题

    无笔试. 口试:(前半部分平淡无奇,没什么太难的问题,都是求职岗位基本要会的东西,局限于php.下面是真正进入状态的题.) 谈谈观察者模式是什么?主要应用. 答:类似会有一些server对象时刻侦听某 ...

  4. 【转】2012年6月25 – 某欧美上市企业PHP工程师最新面试题

    笔试: 尼玛,连页眉页脚都是英文!不过都还能读懂.题目很简单.印象深刻的有几题. 具体题目忘了,主要知识点考点是,建立的视图,实现有自增字段. 答:之前还真没考虑过这个问题.当时条件发射,给了一个用户 ...

  5. QQ 腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信(IM)软件

    QQ 编辑 腾讯QQ(简称“QQ”)是腾讯公司开发的一款基于Internet的即时通信(IM)软件.腾讯QQ支持在线聊天.视频通话.点对点断点续传文件.共享文件.网络硬盘.自定义面板.QQ邮箱等多种功 ...

  6. 10月12号 晚八点 Speed-BI 云平台-基于Excel数据源的管理驾驶舱构建全过程,腾讯课堂开课啦

    认真地做了一大摞一大摞的报表,老板没时间看?努力把能反馈的内容都融汇进图表里,老板嫌复杂?做了几个简单的报表,老板一眼就觉得信息不全面?每个报表都用了各种各样的图表,老板却毫无兴趣?明明很努力了,为什 ...

  7. [Erlang 0114] Erlang Resources 小站 2013年7月~12月资讯合集

    Erlang Resources 小站 2013年7月~12月资讯合集,方便检索.     附 2013上半年盘点: Erlang Resources 小站 2013年1月~6月资讯合集    小站地 ...

  8. Swift 3.0首个开发者预览版将在5月12日释出

    Swift团队在博客中宣布Swift 3.0语言首个开发者预览版将于5月12日释出,正式版将在4-6周之后推出.开发者预览阶段并无确定的更新周期和计划,不过Swift团队称努力将其控 制在4-6周内. ...

  9. 系列文章:老项目的#iPhone6与iPhone6Plus适配#(持续更新中,更新日期2014年10月12日 星期日 )

    本文永久地址为http://www.cnblogs.com/ChenYilong/p/4020399.html ,转载请注明出处. ********************************** ...

随机推荐

  1. CentOS7 安装python库(numpy、scipy、matplotlib、scikit-learn、tensorflow)

    0.1准备工作 安装好CentOS7,配置好网络,确保网络畅通. 0.2root授权 首先:当前用户为kaid # vim /etc/sudoers 在root ALL=(ALL) ALL之后添加: ...

  2. CNN基础

    CNN一般结构 卷积层作用: 1) 提取不同维度的特征,组合不同维度特征,其本质是卷积核,因此,学习一个有效的总卷积核是训练卷积层主要工作 2)寻找不同位置,不同大小的特征 3) 根据卷积核参数计算上 ...

  3. logstash参数配置

    input配置: file:读取文件 input { file{ path => ["/var/log/*.log","/var/log/message" ...

  4. **CodeIgniter系列 添加filter和helper

    filter: 使用CI的hooks来实现filter. 1.在system/application/config/config.php中,把enable_hooks的值改为TRUE $config[ ...

  5. ceph存储池基本管理

    一,设置默认存储池的pg或pgp的值(推荐100左右),在ceph.conf文件里增加: osd pool default pg num = osd pool default pgp num = 二, ...

  6. properties文件不能输入中文

    先把他关掉,然后对message.properties 文件右键--属性(properties), 右边最下面一行text file encoding选择other里面的最后一个utf-8, 再点击a ...

  7. 开源IDS系列--解决barnyard2 停止运行 libmysqlclient.so.16.0.0

    现象: barnyard2运行一段时间后,会自行停止,未在/var/log/barnyard2或/var/log/suricata中发现相关日志. 排查: 在/var/log/message中存在以下 ...

  8. 搭建 GIT 服务器

    Git 是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 此实验以 CentOS 7.2 x64 的系统为环境,搭建 git 服务器. 安装依赖库和编译工具 为了后续安装能 ...

  9. VMware虚拟机VMware Authorization Service不能启动问题

    出现VMware Authorization Service不能启动问题,注意要在安装VMware Player时使用管理员权限

  10. jquery.autocomplete修改 实现键盘上下键 自动填充

    根据需求要实现通过键盘上下移动,获得联想菜单中的值,如同google baidu的查询功能. 在网上找了很久没有找到可以实现该功能的插件,无奈只能自己动手改代码.找到js中的KEY.DOWN 和 KE ...