一、类和结构的区别,分别有什么应用。(参考: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. CentOS7安装jdk8及环境变量配置

    下载jdk8 这里可以使用Windows下载,然后传到虚拟机 进入jdk下载页面 https://www.oracle.com/technetwork/java/javase/downloads/in ...

  2. WS_TABSTOP 与 BS_DEFPUSHBUTTON 第一次使有

    关于 WS_TABSTOP,我一直没搞明白,为何加了 WS_TABSTOP ,当按下 Tab 键时,窗口中的控件还是不能自动的切换焦点. 为何 SetFocus(hwnd); 后,虽然按钮已获得焦点, ...

  3. Linux下查看Nginx安装目录、版本号信息及当前运行的配置文件

    Linux环境下,怎么确定Nginx的安装路径 输入命令行: ps -ef | grep nginx 摁回车,将出现如下图片: master process 后面的就是的 /data/software ...

  4. hive笔记

    cast cast(number as string),  可以将整数转成字符串 lpad  rpad lpad(target, 10, '0')   表示在target字符串前面补0,构成一个长度为 ...

  5. A Graph Partitioning Game Theoretical Approach for the VNF Service Chaining Problem

    文章名称:A Graph Partitioning Game Theoretical Approach for the VNF Service Chaining Problem 发表时间:2017 期 ...

  6. 神经网络3_M-P模型

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程,QQ:231469242) https://study.163.com/course/introduction.htm?courseId ...

  7. 映像文件工具srec

    目录 映像文件工具srec 介绍与帮助 常用例子 常用选项 一个实际的例子 hex转bin 数据填充 文件合并 文件分割 加入CRC 查看信息 使用命令集合的文本 详细文件格式的描述 附录:MDK的例 ...

  8. Docker:手动制作镜像 [五]

    一.制作docker镜像的步骤 1.启动容器安装软件服务 2.将安装好服务的容器commit提交为镜像 3:.启动新容器来测试新提交的镜像 二.制作支持ssh远程登录的docker镜像 1.启动容器安 ...

  9. LFYZ-OJ ID: 1020 过河卒(NOIP2002)

    过河卒 Proble Description 如图,A 点有一个过河卒,需要走到目标 B 点.卒行走规则:可以向下.或者向右.同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃 ...

  10. Iterate over slices of a string

    def iter_slices(string, slice_length): """Iterate over slices of a string."" ...