今天上午校招面试,也是我人生中对自己喜欢的工作的一次技能检验。面试提到几个问题,其中还有个关于与ajax异步请求,我记得不是太清没答上来。现在刚吃完饭就来总结一下。
Ajax的异步与同步
今天校招面试就这个没有答上来,想想前段时间刚学过,没及时复习真是不应该… ajax里面有个ES7的异步函数:async。ajax默认是异步请求,如果把async默认参数改城true,这标识着在请求开始后,其他代码依然能够执行,但是这样的话如果ajax代码不通,会导致下面的代码停止加载,会导致页面加载崩溃。
举一个栗子:
console.log('1');
$.ajax({
url:'admin/ajax_add',
async:true,
success:function(e)
{
console.log('2');
}
});
console.log('3');
也就是说async设置为true时,这时ajax是异步的,就算ajax出现问题,其他的代码还可以继续执行。如果当async是同步既(false)这样的话ajax请求不到数据就会停止下面的代码。
Mvc设计模式与Mvc框架的区别
这里之前先简单的说一下Mvc,它是为了代码分离而产出的一个程序模式。
- M(Model,‘模型’)专门处理应用程序数据逻辑,通常用于数据库中存取数据。
- V(View,‘视图’)指数据呈现后的状态,简单的说也就是用户看到的UI画面。
- C(Contrller,‘控制器’)它是控制视图的输出,并向模型发送数据。
我是这样理解的,Mvc设计模式是一群大佬经过长久的实践后的总结。也就是用于解决一系列问题的解决方法。
- Mvc设计模式可以说是设计师设计的图纸,而Mvc框架则是工程师以设计师的图纸而建造的产品。
面向对象知识点
接口和抽象类的区别
抽象类是一种不能被实例化的类,只能作为其他类的父类来使用。抽象类是通过关键字abstrat来声明。
抽象类与普通类相似,都包含成员变量和成员方法,两者的区别在于,抽象类中至少要包含一个抽象方法,抽象方法没有方法体,该方法天生就是被子类重写的。
接口是通过interface关键词来声明的,接口中的成员常量和方法都是public,方法可以不写关键词public,接口中的方法也是没有方法体。接口中的方法也是天生就是要被子类实现的。
抽象类和接口实现的功能十分相似,最大的不同是接口能实现多继承。在应用中选择抽象类还是接口要看具体实现。
__autoload()函数是如何运作的?
这个魔术函数的基本条件是类文件的文件名要和类名字保持一致,当程序执行到实例化某个类的时候,如果在实例化之前没有引入这个类文件,那么就会自动执行“__autoload()”函数。
总结
人生中第一次正式的技术面试,一向内向的我比较紧张,不过二次面试的机会还是拿到了,还有就是这次简历做的不是很理想,太简约了,我以为简约能让hr更好的阅读…好吧..虽然我本人不是很喜欢花里胡哨的东西,楚老师也说这是个看脸的时代…好了不写了,再写的话手机话费要超负额了….