一、对于从没面试过的朋友来说,第一次的面试应该是相当的忐忑不安的,时刻担心着面试官会不会问到一些自己没见过的内容,如果遇到了这样的问题自己该怎么办。而我就是在这样不安的情况下进行了面试。可是与我的恐怖想象完全相反,第一场面试相当的轻松,让我几乎认为这只是一个小的见面会。面试过程如下:
1、hr给了一张个人信息表和一张试题卷
2、试题大致内容:一个考试测评系统,试题格式为选择题,试题库不限量,可以无限添加,当测试人员开始测试时,随机从试题库中抽取50道。设计数据库和系统实现方案。
3、技术总监和hr 的一些小问题。
然后面试就结束了,在满怀不可思议的心情中走出了大厦。
二、有了第一次的面试经历,虽说没经历想象中的心惊胆战的事,但是也不那么紧张了,心情稍微淡然了一些。
下午两点半的面试,我提前两个小时出发(其实真的万分庆幸早出发好长时间),在坐地铁的时候看错路标反方向做了一站,然后在最后下车的时候又提前下了一站,在找公司所在位置的时候又浪费了十几分钟,不过还好依然在两点二十的时候到达公司门口。下面说说第二次面试:
笔试题:
1、 快速写入文件
2、 session和cookie的区别
3、 常用数据库及区别
4、 Delete from 和 truncate 却别
5、 MySQL字符串连接函数
6、 给定URL提取协议,端口号,文件query
7、 快速排序,快速key value 反转
8、 快速取字符串后 3 – 6
9、 将文件上传到一个url(将/tmp/sss传入到一个url)
10、varchar类型的order by 转成int
11、什么是sql注入,怎防范
12、二分法查找
13、查看mysql执行效率
14、PHP中单引号和双引号的区别
15、PHP中 ++$i 和 $i++的却别
大概就是这些了,都是一些基础支持,只不过在平时不怎么在意,需要考前突袭。
在和面试官交流的时候才知道,这个公司很少用PHP做功能,大部分是python语言来实现的,而且主要是做第三方的,需要尽快上手。不过后来回忆和面试官的交流觉得自己有点儿贬低自己了,把自己说的太差强人意了,恩,这个以后在面试的时候还是需要注意的。
三、大概提前一个小时到了,貌似有点太早了。进到公司之后没有做什么笔试题,直接进入面试阶段。
1、简单介绍一下自己,然后说一些自己的项目,针对其中的某个项目问了一两个小问题
2、PHP语言的强弱,举例说明
3、PHP和java的却别
4、PHP的继承,构造函数是否会被继承。
5、jQuery选择器,jQuery函数大致有哪些分类
6、数据库的设计,表设计,主键,连接方式
7、数组(k/v)格式,查找字符串。注:数组非常大,10万条,百万条,千万条数据。
8、PHP的魔术方法
10、数组转换,比如二维转换为一维,一维转换为二维。
一些基础知识,不过自己感觉回答的不好,在回答的时候还是有点儿懵。知道的不知道的都忘了,回答的晕晕乎乎的。
四:公司不是太大,提前到了,然后就开始做面试题,足足五张试题,还没看到试题就蒙了,真心的有点儿多,当时还有其他人也在做面试题,只有一两张而已,压力突增,不过还是心惊胆战的接受了。
1、写一个函数,计算两个文件的相对路径。
如:$a="/a/b/c/d/e.php";
$b="/a/b/12/34/c.php;
则:$b 相对于 $a 的相对路径应该是 ../../c/d/c.php.
2、日至未见中记录了标准的URL格式,从中去除.php为扩展名的文件名。
如:http://club.sohu.com/abc/de/index.html
http://club.sohu.com/df/hi/page.php?id=1
http://club.sohu.com/xy/read.php?key=123&board=456
取出的内容为:Page.php,read.php。
3、学生科目和成绩保存在三个表中,设定成绩60分及格:
学生表:
CREAKE TABLE ‘user’(
'user_id' INT NOT NULL,
'user_name' VARCHAR(20) NOT NULL
)
科目表:
CREATE TABLE 'course'(
'course_id' INT NOT NULL,
'course_name' CARCHAR(20) NOT NULL
)
成绩表:
CREATE TABLE ‘score’(
'user_id' INT NOT NULL,
'course_id' INT NOT NULL,
'score' INT NOT NULL
)
A:将全部成绩都合格的学生找出,列出ID 和姓名。(写出程序代码)
B:如果通过一门课程得到相应学分。描述对上述表需要进行的修改,并给出查询修满30学分且无不及格科目的学生的方法。(不必写程序代码)
4、某数组内容为:{4,6,3,'a','d',5,7,3,7,2,3,7,9,'e','s','c',9,'w','x'......'g',2,'x'},请统计出其中出现过的元素,并且按照元素的出现次数排序输出。
如:4 - 21
'a' - 19
9 - 18
... ...
要求:代码简练,易读性强。
客观题(中级PHP程序员):
1、下列语法中不正确的是?:
A. echo hello; B. print hello C.unset hello D. include hello.
2、Jscript 代码: var x=1; var y=0; funciton add(n){n=y+1;}; y = add(x); 执行后Y值?:
A. 1 B. 0... C. 2 D. 以上都不是
3、那个命令返回值是数组?:
A. file B. fopen C. file_get_contents D. readfile
4、命令 ? 与其他的不同:
A. exec B. passthru C. system D. eval
5、下列语句中 ?会产生报错信息:
A. @prin($var_not_exit); B. @include("file_not_exit");
C. @unlink("file_not_exit"); D. @foreach($var_not_exit as $temp) echo $temp;
6、PHP5才默认支持的语句是?:
A. move_uploaded_file('/temp/Ef9EF876.temp','/opt/100091.jpg');
B.file_get_contents('http://www.sohu.com');
C. sqlite_exec('SELECT * FROM user');
D. explode(',',$mystring);
7、PHP在命令下运行,应使用 ?获得命令行参数
A. $_SERVER B.$argv C.$_COMMAND D.$_REQUEST
8、下列Redhat Linux 的指令中, ? 是不正确的:
A.ls -lh B.du -sh C. grep 'test' D.df -h
9、Redhat Linux 中,?不能直接反映系统负载情况:
A.pstree B.top C. cat/proc/loadavg D. du -sh
10、那个SQL语句是错误或者MySql不支持的:
A.select * from user where user_name='guest' ORDER BY user_id LIMIT 100,100
B.select * from user into user_bak
C.insert into user set (user_id,user_name) values(1,'guest1'),(2,'guest2'),(3,'guest3)
D.insert into user_bak (user_id,user_name) select user_id,user_name from user