面试总结篇
总结一些自己欠缺或者应该注意的地方:
一:关于前端欠缺的知识:
HTML/XHTML、CSS等网页制作技术,熟悉页面架构和布局;
熟悉 W3C 标准,对表现与数据分离、Web 语义化等有深刻理解;
关于 Javascript 的一些高级的特性的理解不足,比如说 this 关键字的理解,原型链的理解,作用域的理解,还有面向对象的 Js 实现(好几种方式),对象的继承实现。
Ajax 的基础知识应该了如指掌;
关于浏览器兼容的这一大块儿(IE 的怪异模式,各种浏览器的特性, 各种浏览器的高效验证);
对于 Js 库的应用和理解。(jQuery, rototype, ...看些源码)
> 遇到的典型面试问题:
JS 跑马灯简单实现;
JS 的函数声明的几种方式的区别;
JS 的作用域的函数题:function a(){this.num = 10; return function(){var num = 100; alert(this.num)};}
...
二:关于后端欠缺的知识:
PHP 基本的字符串和数组处理函数;(还有一些另类的函数,及一些常遇的问题,Cookie Session,GC...)
Nginx + PHP + FPM + APC,相关知识的了解;(还有可以提高 PHP 运行效率的工具)
看些 PHP 框架的源码;(ZF)
Mysql 相关知识,例如 表的引擎区别,还有 Sql 语句的基本知识;(查看一些数据库设计的问题,还有Mysql数据库优化相关, SQL 防注入,主键 外键的相关知识)
Linux 下的常用命令要清楚;(了解一些编译安装的知识,还有文件解压和打包的 tar 命令,等等...)
学习部分 Linux Shell 编程;
> 遇到的典型面试问题:
如何减少服务器请求的数量(AJAX, 图片的优化加载)
PHP : call_user_func(); 函数的了解;
PHP : 不使用 if 和循环来实现:1 + 2 + 3 + 4 + ... + n (return (n == 1) ? 1 : n + func_name(n-1))
PHP : 防注入的相关函数,还有输出相关的函数:print, print_r ...;
数据库表的设计:三个表:'word' 表: `id` `word` ,作为词表,用来存放词;
‘attr’ 表: `id` `attr` , 作为属性表,用来存放属性;
'rela' 表: `id` `wid` `aid` 作为关系表,存放关系对儿;
要求:找到属性最多的词
...
三: 关于面向对象的知识:
基本的概念知识要清楚;
学习 ZF 源码,从中来学习面向对象的理念和 MVC 的原理
如何从具体问题中抽象出类来,或是类的设计问题
> 遇到的典型面试问题:
百度汽车工厂的问题:...
四:关于数据结构及算法知识:
重要的查找及排序问题(二分查找,快速排序,冒泡排序,选择排序,堆排序...哈希数组,Btree 数的相关知识,链表,二叉树的遍历问题...)
五:关于正则表达式的相关知识:
重在基础;
> 遇到的典型面试问题:
邮箱正则表达式;
六:HTTP TCP/IP 协议相关知识;(状态码…)
七(附加):Sphinx 全文搜索工具的使用;