--- layout: post title: 第一次校招面试总结 date: 2019-02-28 12:15:01 +0800 category: tech thumb: IMG_PATH/zongjie.jpg tags: [校招, 面试] ---  今天上午校招面试,也是我人生中对自己喜欢的工作的一次技能检验。面试提到几个问题,其中还有个关于与ajax异步请求,我记得不是太清没答上来。现在刚吃完饭就来总结一下。 ## Ajax的异步与同步  今天校招面试就这个没有答上来,想想前段时间刚学过,没及时复习真是不应该...  ajax里面有个ES7的异步函数:async。ajax默认是异步请求,如果把async默认参数改城true,这标识着在请求开始后,其他代码依然能够执行,但是这样的话如果ajax代码不通,会导致下面的代码停止加载,会导致页面加载崩溃。  举一个栗子: ```js 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更好的阅读...好吧..虽然我本人不是很喜欢花里胡哨的东西,楚老师也说这是个看脸的时代...好了不写了,再写的话手机话费要超负额了....