Chinaunix

标题: 综合素质面试题 [打印本页]

作者: geel    时间: 2007-06-03 22:43
标题: 综合素质面试题
初、中级水平就行,题目一般,基本都是基础题,更多的是看综合素质(就是会的多一点)

1.php

  1. <?php
  2. error_reporting(E_ALL); // 不要更改

  3. interface ITest
  4. {
  5.         /**
  6.          * @todo: 过滤 $text 里面的 scripts,并且返回过滤后的文本。
  7.          **/
  8.         public static function filterScripts($text);

  9.         /**
  10.          * @todo: 把 $array 保存在当前目录的一个文件里,并且可以从文件里恢复原数组
  11.          **/
  12.         public static function saveArray(array $array);

  13.         /**
  14.          * @todo: 列出当前目录下的所有文件
  15.          **/
  16.         public static function listFiles();

  17.         /**
  18.          * @todo: 返回'test'库'test'表里`id`字段为给定id值的行的所有字段
  19.                 注意:给定id为直接从用户输入获得,没有进行验证
  20.                 要求尽量避免可能的错误
  21.          **/
  22.         public static function getRow($id);

  23.         /**
  24.          * @todo: 对 $_GET 的所有元素进行 stripslashes 处理,要求能处理数组形式的值
  25.          **/
  26.         public static function rStripslashes();

  27.         /**
  28.          * @todo: 读出当前目录下 1.html 的文件内容并且将源代码原样显示在浏览器中
  29.          **/
  30.         public static function showHtml();
  31. }

  32. /**
  33. 不要添加结尾的 "?>"
  34. **/
复制代码


以下是题目:


  1. XHTML和CSS方面的问题不允许借用dreamweaver之类的工具。

  2. 一、php方面

  3. 1、打开1.php,在文件里写一个类Test实现ITest接口。(如果不会实现接口可以直接改写成类)
  4. 2、在当前目录下写一个文件 1-1.php,依次调用你刚才写的Test类的所有method。
  5. 3、上述代码(interface ITest)中,public修饰符是什么意思?同类修饰符还有哪些?各有什么意义?
  6. 4、上述代码中,function前面为什么要加static关键字?php的关键字和函数区别大小写吗?
  7. 4.1、文件 1.php 中不添加结尾的 "?>" 可以运行吗?不添加 "?>" 有什么作用吗?
  8. 5、=== 和 == 有什么区别?
  9. 6、引用的利弊?一般来说各自在什么情况下用?function如何返回引用?如何给一个function传递引用?
  10. 7、一个典型web程序(例如一个论坛)的性能瓶颈通常来说在什么地方?一般采用什么什么方法来提高执行效率?
  11. 8、一般用什么办法判断当前页面是用户 post而不是get?

  12. 二、XHTML和CSS以及javascript方面
  13. 9、简述两条w3c关于XHTML1.0的规范
  14. 10、访问过的超链接样式不再具有css里定义的hover和active了,问题的原因可能是?解决方法是?
  15. 11、定义一个层,用css实现下列样式:高200px,宽300px,其边框宽度为1px,边框颜色为红色,背景颜色为蓝色,文字颜色为白色,文字水平和垂直居中,文字大小14px,粗体
  16. 12、设有 <ul><li>aaa</li><li>bbb</li></ul>,用css使aaa和bbb显示在同一行上。
  17. 13、onblur事件在什么时机被触发?
  18. 14、请指出body是什么元素的子元素?
  19. 15、设有如下HTML代码:
  20. <input type="text" id="companyName" />
  21. <p id="company"></p>
  22. <input type="button" onclick="setCompanyName()" value="设置公司名" />
  23. 请完成 setCompanyName() 方法,使点击按钮的时候,将<p>中的文字设置为输入框中的文字。如果点击按钮时输入框里没有文字,弹出“请输入文字”的提示。
  24. 16、使用过哪些js类库?

  25. 三、其他部分
  26. 17、使用过哪些发行版本的Linux?喜欢他们的哪些地方?
  27. 18、在linux下面你一般用什么方法安装一个软件?
  28. 19、bash下面 ls -lah 代表什么意思?
  29. 19、rm -i 代表什么意思?rm -f 呢?
  30. 20、你用什么办法登录到一台 linux 主机?
  31. 21、一个文件的权限为 764,表示什么意思?用什么命令将这个文件的权限改为 700?
  32. 22、FTP传输过程中binary和ascii模式有什么区别?
  33. 23、一个ftp服务器ip为1.2.3.4,端口为123,用户名是 andy,密码是 xyz,要求下载 movie 目录下的 1.rm,请写出可以直接下载这个文件的 URL
  34. 24、HTTP返回代码中404代表什么含义?302呢?
  35. 25、<script src="a.js?0607"></script>,请问为什要写问号及其后面的内容?
  36. 26、假设第1题中某一个方法你不知道怎么实现,一般情况下你会通过哪些途径来解决?
复制代码

[ 本帖最后由 geel 于 2007-6-4 17:24 编辑 ]
作者: james.liu    时间: 2007-06-04 08:47
三:
万一他只用freebsd,,不用bash,只用shell呢


其余还好吧。。。面有点广
作者: geel    时间: 2007-06-04 09:57
原帖由 james.liu 于 2007-6-4 08:47 发表
三:
万一他只用freebsd,,不用bash,只用shell呢


其余还好吧。。。面有点广


我们服务器用的是freebsd,但问题是这些人填简历时都没选freebsd,所以只好考linux……
不过虽然面有点广,不过都是挺简单的东西,应该没什么问题吧
作者: lostmemory    时间: 2007-06-04 11:25
我都会 你给我多少k啊
作者: geel    时间: 2007-06-04 13:18
原帖由 lostmemory 于 2007-6-4 11:25 发表
我都会 你给我多少k啊


问题是你在哪里呀
作者: $$$$    时间: 2007-06-04 13:33
哪个都会哦?
强人.
俺都不会.

还有接口是PHP5的吧?

哪个来给个答案让俺学习下.
作者: laokan    时间: 2007-06-04 13:59
可以查手册不?
作者: geel    时间: 2007-06-04 14:42
1可以,其他都不可以查
作者: Dream☆Wing    时间: 2007-06-04 15:23
汗......好多不会......继续学习
作者: sunnyfun    时间: 2007-06-04 17:00
面也太广了吧,再考个数据库的话就无敌了,在我看来这些是 程序员+美工+实施+网管 一起干的活
作者: sunnyfun    时间: 2007-06-04 17:07
因此你需要准备4人份的工资,哈
作者: laokan    时间: 2007-06-04 18:11
4.1、文件 1.php 中不添加结尾的 "?>" 可以运行吗?不添加 "?>" 有什么作用吗?

这个问题怎么看怎么是一个问题, 这个是隔设问句
作者: geel    时间: 2007-06-04 21:23
原帖由 laokan 于 2007-6-4 18:11 发表
4.1、文件 1.php 中不添加结尾的 "?>" 可以运行吗?不添加 "?>" 有什么作用吗?

这个问题怎么看怎么是一个问题, 这个是隔设问句


第一个问题run一次就知道,主要看第二个问题
作者: 大大狗    时间: 2007-06-04 21:39
5、=== 和 == 有什么区别?
这个好像是  (===)全等和(==)相等吧
作者: $$$$    时间: 2007-06-04 22:02
我也想知道?>有啥作用.
作者: geel    时间: 2007-06-05 10:07
原帖由 大大狗 于 2007-6-4 21:39 发表
5、=== 和 == 有什么区别?
这个好像是  (===)全等和(==)相等吧


=== 比较值的同时也比较类型 1===true 结果 false, 1==true 结果 true
作者: geel    时间: 2007-06-05 10:10
原帖由 sunnyfun 于 2007-6-4 17:00 发表
面也太广了吧,再考个数据库的话就无敌了,在我看来这些是 程序员+美工+实施+网管 一起干的活


美工懂程序的很少,但是程序员一般都多多稍稍懂点美工。不要求别的,只要美工给的模板程序员能看懂,并且能稍微根据程序改改
而且程序员还真就必须懂实施。这php大家可能不太在意,要是rails或者java,不考虑实施过程中的水平扩展的话,那就不是一个合格的程序员。
作者: lostmemory    时间: 2007-06-05 10:11
我在北京 你报价吧
作者: Bangel    时间: 2007-06-05 11:43
偶在深圳,基本做完,不需要太多想的。。你报价吧
作者: geel    时间: 2007-06-05 11:52
原帖由 lostmemory 于 2007-6-5 10:11 发表
我在北京 你报价吧

原帖由 Bangel 于 2007-6-5 11:43 发表
偶在深圳,基本做完,不需要太多想的。。你报价吧



100万咋样,要不200万? :wink:
作者: zwws    时间: 2007-06-05 14:31
我会的只有40%...
作者: fmfsaisai    时间: 2007-06-05 22:08
如果真的200万,我就马上去看ftp命令的手册
作者: geel    时间: 2007-06-06 09:56
原帖由 fmfsaisai 于 2007-6-5 22:08 发表
如果真的200万,我就马上去看ftp命令的手册


查错手册了……
作者: 大大狗    时间: 2007-06-06 10:17
原帖由 geel 于 2007-6-5 11:52 发表





100万咋样,要不200万? :wink:

这么多呢 那我要改行
作者: lostmemory    时间: 2007-06-06 11:49
真没诚意
作者: danssion    时间: 2007-06-07 11:25
LZ

再把数据的也一起
加上吧
作者: imbiss    时间: 2007-06-07 20:33
2、在当前目录下写一个文件 1-1.php,依次调用你刚才写的Test类的所有method。
请问这个问题如何回答?
...
4.1  文件 1.php 中不添加结尾的 "?>" 可以运行吗?不添加 "?>" 有什么作用吗?
我没有运行。但是估计缺少?>是不能运行的. 但是,这样做的目的是为了后面在include文件方便吧,最后合并做成一个单个的大的php脚本。 猜的。

除了这两题, 其他问题都算简单。如何能再增加一个正则的题目和对其他web编程语言的看法就好了(不是考综合素质嘛)
还有,最好事先说明是php5的。很多人还一直用php4的。
作者: m4ker    时间: 2007-06-08 14:29
标题: 回复 1楼 geel 的帖子
非常幸运我通过了这次面试,虽然答的不是很好,但还是通过了,现在已经和geel一起工作了.
还要补充下,我技术很差,我是新手,,今年大一,还在学习中...

给大家解答一下部分问题.如果发现错误希望大家指出


写程序那部分就不写了,比较麻烦,面向对象我还没有没透,我是用类来做的,只完成了一部分功能.现在还在学习中.

4.1、文件 1.php 中不添加结尾的 "?>" 可以运行吗?不添加 "?>" 有什么作用吗?

     关于这个问题开始我也没有想到答案,但是我run了一下,是可以运行的,?>标记的作用是退出php模式,如果没有加并不会出现语法错误,程序运行完毕php会自动退出php模式的.
       第2个问我问了好多人才弄明白是怎么回事,主要是为了防止?>后面有多余的空格,这样在include过来之后会造成输出,如果在include之后使用setcookie()就会出错了,我是这么理解的,因为以前遇到过这样的问题,是用ob_star()解决的.

5、=== 和 == 有什么区别?

    这个问题其实是在面试的时候在手册里找到的答案,===是全等,也就是说不止要值相等,类型也要一样.

7、一个典型web程序(例如一个论坛)的性能瓶颈通常来说在什么地方?一般采用什么什么方法来提高执行效率?

    这个我回答的是数据库的存取,用cache来提高效率,但是我不知道对不对.

8、一般用什么办法判断当前页面是用户 post而不是get?

    这个我觉得不是很难的吧,判断$_POST和$_GET是否被定义.

二、XHTML和CSS以及javascript方面
9、简述两条w3c关于XHTML1.0的规范
   
    这个其实我也只是知道一点点,但是现在用的都是xhtml,虽然不太规范,xhtml标签一般要成对出现,单标记以 />结尾,我就答了这么多.

10、访问过的超链接样式不再具有css里定义的hover和active了,问题的原因可能是?解决方法是?

    访问过的链接样式应该用a:visited{}来定义,我想应该是没有什么异议吧.

11、定义一个层,用css实现下列样式:高200px,宽300px,其边框宽度为1px,边框颜色为红色,背景颜色为蓝色,文字颜色为白色,文字水平和垂直居中,文字大小14px,粗体

     这个代码我就不写了,比较简单,难点就是div的垂直居中.

12、设有 <ul><li>aaa</li><li>bbb</li></ul>,用css使aaa和bbb显示在同一行上。

     这个我没有想到什么办法,我用的是top和left强制把第2行移到了第一行的右边,后来geel告诉我可以定义lil{display:inline;}

13、onblur事件在什么时机被触发?

     失去焦点,这个也是靠手册的,平常不常用这个事件,所以忘记了

14、请指出body是什么元素的子元素?

     这个我不会,手册里查了好久也没有找到body元素,但偶然差到了一段代码里有Document.body,呵呵,很显然body是document的元素了

15、设有如下HTML代码:
<input type="text" id="companyName" />
<p id="company"></p>
<input type="button" onclick="setCompanyName()" value="设置公司名" />
请完成 setCompanyName() 方法,使点击按钮的时候,将<p>中的文字设置为输入框中的文字。如果点击按钮时输入框里没有文字,弹出“请输入文字”的提示。

       这道题也应该算我运气不错吧,其实我js差的很,现在也只是能看懂一些简单的代码,但是我唯一仔细学过的东西就是innerHTML,所以不用考虑太多就完成了.

16、使用过哪些js类库?

      这个我并没有答,因为确实没有用过,用过一些现成的类,但是也不记得什么名字了.

三、其他部分
19、rm -i 代表什么意思?rm -f 呢?

     以前登陆linux服务器的时候用过rm命令,用来删除目录,但是参数实在不记得了

20、你用什么办法登录到一台 linux 主机?

     我只用过putty.exe,听说超级终端就可以,我没有试过,因为putty用起来还不错.

21、一个文件的权限为 764,表示什么意思?用什么命令将这个文件的权限改为 700?

     这个记不太清楚了,因为多数时候改文件属性都是通过flashfxp,直接就是777,所以第一个问我没有回答,修改文件权限的命令是chmod,以前用过几次,其实如果常用flashfxp也会懂这个,flashfxp在修改文件属性的时候有在信息栏显示命令

22、FTP传输过程中binary和ascii模式有什么区别?

    因为以前传utf8的时候经常忘记换传输模式,所以接触一些相关的东西,binary应该是二进制的意思,我理解应该是可以传输所有的编码什么的吧,而ascii只能传输ascii码,不知道这么理解对不对.

23、一个ftp服务器ip为1.2.3.4,端口为123,用户名是 andy,密码是 xyz,要求下载 movie 目录下的 1.rm,请写出可以直接下载这个文件的 URL

       这道题一马虎答错了,不过也差不多,好象应该是ftp://andy\"\"yz@1.2.3.4:123/movie/1.rm,其实并不知道对不对,凭感觉写出来的.

24、HTTP返回代码中404代表什么含义?302呢?

    404是文件未找到(Not Found),302的我没答上,应该是Moved Temporarily,具体的意思还没太理解透,网上的定义如下

请求到的资源在一个不同的URL处临时保存。因为重定向有时会被更改,客户端应继续用请求URI来发出以后的请求。新的URL必须由回应中的位置域指定。除非是HEAD请求,否则回应的实体主体 (Entity-Body)必须包括对新URL超链接的简要描述。
如果用POST方法发出请求,而接收到302回应状态码。在这种情况下,除非用户确认,否则用户代理不必自动重定向请求,因为这将导致改变已发出请求的环境。
注意:当在接收到302状态码后而自动重定向POST请求时,一些现存的用户代理会错误地将其改为GET请求。



25、<script src="a.js?0607"></script>,请问为什要写问号及其后面的内容?

    这个我以为是rewrite呢,但geel说是为了解决浏览器缓存的问题

26、假设第1题中某一个方法你不知道怎么实现,一般情况下你会通过哪些途径来解决?

    这个我回答是发帖子和搜索引擎,其实我也比较擅长查手册,这点geel已经看出来了^.^

[ 本帖最后由 m4ker 于 2007-6-8 14:33 编辑 ]
作者: suntoltti    时间: 2007-06-08 14:32
25、<script src="a.js?0607"></script>,请问为什要写问号及其后面的内容?

请问答案是什么?我真的好想知道
作者: m4ker    时间: 2007-06-08 14:42
原帖由 suntoltti 于 2007-6-8 14:32 发表
25、<script src="a.js?0607"></script>,请问为什要写问号及其后面的内容?

请问答案是什么?我真的好想知道



geel说是为了解决浏览器的缓存问题,我的理解是在一些设置下浏览器会将临时文件保存下来,下次进入页面直接调用上次存下来的脚本而不从服务器下载,这样的话如果修改了脚本客户端也不会下载新的脚本.如果在后面跟上参数浏览器就会认为a.js?1和a.js不是同一个文件,然后去下载新的文件.

其实在用rewrite的时候也会有这种例子,关于apache中rewrite的内容我这里就不多说了,可以去百度一下,或者看看手册
作者: suntoltti    时间: 2007-06-08 14:46
原帖由 m4ker 于 2007-6-8 14:42 发表



geel说是为了解决浏览器的缓存问题,我的理解是在一些设置下浏览器会将临时文件保存下来,下次进入页面直接调用上次存下来的脚本而不从服务器下载,这样的话如果修改了脚本客户端也不会下载新的脚本.如果在后面 ...


我觉得这不对,您说的只是对了一小半,您看过scriptaculous框架吗?里面就是根据?号后面的参数来加载不同的lib的,我没仔细看源码实现

其它的问题还好。
作者: m4ker    时间: 2007-06-08 14:54
嗯 我并没有用过框架,这几天上班刚接触,但是我觉得人的想法的无限的,所以答案可能会有很多也并不奇怪.
作者: suntoltti    时间: 2007-06-08 15:16
你的回答我很不太认同。事实上如果js后面跟随机参数仅仅是为了避免缓存,我觉得你就错了。
作者: m4ker    时间: 2007-06-08 15:25
我可没有说仅仅...  但是用这个方法的确可以解决这类问题,  但这并不代表说他不能去解决其他的问题.
作者: suntoltti    时间: 2007-06-08 15:27
并且,为什么要清js缓存呢?除非你的网站js文件老做修改,不然为什么要清?
作者: m4ker    时间: 2007-06-08 15:30
对   geel的意思就是说修改了js文件之后顺便修改一下.js后面的值
作者: suntoltti    时间: 2007-06-08 15:45
就此打住,知道怎么用了 感谢您的讨论
原来有这个对象元素,document.scripts

[ 本帖最后由 suntoltti 于 2007-6-8 15:47 编辑 ]




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2