一、类和结构的区别,分别有什么应用。(参考:https://blog.csdn.net/yikeshu19900128/article/details/40400479

1)类是引用类型,数据存放在堆上,指向的地址存在栈上。结构是值类型,数据存在栈上。

2)类可以继承,能继承另一个类或接口,也可以被继承。结构不能继承,不能继承另一个结构或类,也不能被继承,但是可以继承接口。

3)类可以在声明时初始化,结构不能在声明时初始化。

4)在类中,一旦我们编写了带参数构造函数,默认构造函数就不存在了。当我们要调用不带参数的构造函数来初始化对象时,我们必须再自己编写一个不带参数的构造函数。但是在结构中,始终存在一个不带参数的默认构造函数,并且,这个构造函数是不可替代的,不能重写,也不能覆盖,在结构中,我们只能编写带参数的构造函数,不能编写不带参数的构造函数

5)析构函数:类有析构函数,但是结构没有析构函数

6)关键字:在类中可以使用但是在结构中限制使用的关键字有:abstract、sealed、protected;Static关键字可以用在类名前面用来声明静态类,但是不能用在struct前面,不存在静态结构

7)类用new来实例化对象,分配内存,需要使用new返回地址及分配空间,而结构用new是初始化,结构是值类型,声明时就已经分配内存了

结构和类的适用场合分析:(参考:https://blog.csdn.net/Iqingshuifurong/article/details/53129536

  1、当堆栈的空间很有限,且有大量的逻辑对象时,创建类要比创建结构好一些;

  2、对于点、矩形和颜色这样的轻量对象,假如要声明一个含有许多个颜色对象的数组,则CLR需要为每个对象分配内存,在这种情况下,使用结构的成本较低;

  3、在表现抽象和多级别的对象层次时,类是最好的选择,因为结构不支持继承。

  4、大多数情况下,目标类型只是含有一些数据,或者以数据为主。

二、在项目中直接使用sql语句和用存储过程查询的区别是什么(参考:https://www.cnblogs.com/binyue/p/6442310.html

三、网站的优化有哪些方法?(从服务端和客户端两个方面说明)(参考:https://www.zhihu.com/question/21658448

【这个如果知道的希望可以在评论区分享你的答案,谢谢】

前端优化的途径有很多,按粒度大致可以分为两类,第一类是页面级别的优化,例如 HTTP请求数、脚本的无阻塞加载、内联脚本的位置优化等 ;第二类则是代码级别的优化,例如Javascript中的DOM 操作优化、CSS选择符优化、图片优化以及 HTML结构优化等等。(作者:斯迪 链接:https://www.zhihu.com/question/21658448/answer/18903129 来源:知乎)
 
 
四、怎么避免点击按钮后重复提交?【写出你能想到的所有方法】(参考:https://www.cnblogs.com/wuyx/p/6118484.html
1)按钮点击提交后,让按钮成为不可用状态,等操作执行完成后再恢复。
2)设置一个变量来记录按钮点击次数,如果点击的时候为0,则执行提交操作,否则return。
3)在点击按钮进行提交之后可以在页面上加一个“等待中。。。”的动态效果,在未完成操作时按钮所在的页面是不能点击的。等执行完操作后再隐藏动态效果,恢复页面。
4)用cookie保存上一次点击提交的时间,比较两次的时间间隔,如果在你觉得间隔过短的话,就把第二次的提交过滤掉。
5)还有链接里面的方法 https://www.cnblogs.com/wuyx/p/6118484.html 【欢迎补充】
 
五、JavaScript里有什么基本数据类型?(参考:https://www.cnblogs.com/mybwhy/p/7245234.html?utm_source=itdadao&utm_medium=referral
1)Undefined类型:Undefined类型只有一个值即undefined。对未初始化和未声明的变量执行typeof操作符都会返回undefined。
2)Null类型:Null类型是第二个只有一个值的数据类型即null。null值表示一个空指针对象,因此typeof操作符检测null值时返回“object”。
3)Boolean类型:Boolean类型有两个字面值:true和false。true不一定等于1,false不一定等于0。需要注意的是true和false是区分大小写的,也就是说True和False(以及其他的混合大小写形式)都不是Boolean值,只是标识符。
4)Number类型:
5)String类型:数值、布尔值、对象、字符串值都有toString()方法,但null和undefined值没有。
6)Object类型:在javascript中Object类型是所有其他实例的基础。
引申题:
<script>
 
  var a='12.3';//string类型
 
  var b=12.6;//number类型
 
  var c=a+b;//c是string类型
 
  alert(c);//结果是什么?====>结果为 12.312.6
 
</script>
 
        什么时候得到结果24?什么时候得到25?【js中的四舍五入,参考:http://www.jquerycn.cn/a_11512
<script type="text/javascript">
var a = '12.3';
a = parseInt(a);//a=12
var b = 12.6;
var c = a + b;//c=24.6
alert(typeof (c));//number类型
alert(parseInt(c));//
</script>
<script type="text/javascript">
var a = '12.3';
a = parseFloat(a);
var b = 12.6;
var c = a + b;
alert(c);//24.9
alert(typeof (c));//number类型
alert(c.toFixed());//25 在js中四舍五入的函数 tofixed(n) , n为要保留的小数位数。n为0~20,当n超过20的时候,js会出错。
</script>
 
 
 

面试题总结(PS:只是我遇到的那些面试题,并不是经典面试题)的更多相关文章

  1. 李洪强经典面试题152-Runtime

    李洪强经典面试题152-Runtime   Runtime Runtime是什么 Runtime 又叫运行时,是一套底层的 C 语言 API,其为 iOS 内部的核心之一,我们平时编写的 OC 代码, ...

  2. 李洪强iOS经典面试题下

    李洪强iOS经典面试题下 21. 下面的代码输出什么? @implementation Son : Father - (id)init { self = [super init]; if (self) ...

  3. Linux 经典面试题

    [Linux  经典面试题] 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文 ...

  4. 【转载】经典10道c/c++语言经典笔试题(含全部所有参考答案)

    经典10道c/c++语言经典笔试题(含全部所有参考答案) 1. 下面这段代码的输出是多少(在32位机上). char *p; char *q[20]; char *m[20][20]; int (*n ...

  5. C语言程序猿必会的内存四区及经典面试题解析

    前言: 为啥叫C语言程序猿必会呢?因为特别重要,学习C语言不知道内存分区,对很多问题你很难解释,如经典的:传值传地址,前者不能改变实参,后者可以,知道为什么?还有经典面试题如下: #include & ...

  6. 李洪强iOS经典面试题156 - Runtime详解(面试必备)

    李洪强iOS经典面试题156 - Runtime详解(面试必备)   一.runtime简介 RunTime简称运行时.OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制. 对于C ...

  7. 李洪强iOS经典面试题155 - const,static,extern详解(面试必备)

    李洪强iOS经典面试题155 - const,static,extern详解(面试必备) 一.const与宏的区别(面试题): const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽 ...

  8. 李洪强iOS经典面试题154- 通知与推送

    李洪强iOS经典面试题154- 通知与推送   通知与推送 本地通知和远程推送通知对基本概念和用法? image 本地通知和远程推送通知都可以向不在前台运行的应用发送消息,这种消息既可能是即将发生的事 ...

  9. 李洪强iOS经典面试题153- 补充

    李洪强iOS经典面试题153- 补充   补充 有空就来解决几个问题,已经懒癌晚期没救了... UML 统一建模语言(UML,UnifiedModelingLanguage)是面向对象软件的标准化建模 ...

  10. 李洪强iOS经典面试题147-WebView与JS交互

    李洪强iOS经典面试题147-WebView与JS交互   WebView与JS交互 iOS中调用HTML 1. 加载网页 NSURL *url = [[NSBundle mainBundle] UR ...

随机推荐

  1. 工作环境换成Ubuntu18.04小记

    Linux汇总:https://www.cnblogs.com/dunitian/p/4822808.html#linux Ubuntu常用软件安装(小集合)http://www.cnblogs.co ...

  2. cogs2479 偏序(CDQ套CDQ)

    题目链接 思路 四维偏序 \(CDQ\)套\(CDQ\),第一维默认有序.第二维用第一个\(CDQ\)变成有序的.并且对每个点标记上第一维属于左边还是右边.第二个\(CDQ\)处理第三维,注意两个\( ...

  3. Node.js模块化教程

    Node.js模块化教程 下载安装node.js 创建项目结构 |-modules |-module1.js |-module2.js |-module3.js|-app.js|-package.js ...

  4. vim与程序员

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...

  5. Django的admin视图的使用

    要现在admin.py文件中将你要视图化操作的类进行注册: from django.contrib import admin from api import models # Register you ...

  6. jQuery使用(十一):jQuery实例遍历与索引

    each() children() index() 一.jQuery实例遍历方法each() jQuery实例上的each()方法规定要运行的函数,并且给函数传入两个参数:index,element. ...

  7. 第十节: 利用SQLServer实现Quartz的持久化和双机热备的集群模式 :

    背景: 默认情况下,Quartz.Net作业是持久化在内存中的,即 quartz.jobStore.type = "Quartz.Simpl.RAMJobStore, Quartz" ...

  8. [物理学与PDEs]第4章第3节 一维反应流体力学方程组 3.1 一维反应流体力学方程组

    1. 一维粘性热传导反应流体力学方程组 $$\beex \bea \cfrac{\p\rho}{\p t}&+\cfrac{\p}{\p x}(\rho u)=0,\\ \cfrac{\p}{ ...

  9. [译]Ocelot - Getting Started

    原文 Ocelot专为.NET Core而设计. .NET Core 2.1 安装 首先需要创建一个netstandard2.0项目,然后再通过nuget安装. Install-Package Oce ...

  10. UEditor调用上传图片、上传文件等模块

    来源:https://www.cnblogs.com/lhm166/articles/6079973.html 说到百度富文本编辑器ueditor(下面简称ue),我不得不给它一个大大的赞.我们在网站 ...