static局部变量相关知识

  1. 静态变量在内存的静态存储区,静态数据一直占有着该存储区单元直到程序结束;
  2. 静态局部变量只声明一次,一旦申请内存成功,不再接受重复申请;
  3. 静态局部变量的作用域与一般局部变量一样,二者区别:一般局部变量在函数调用结束后释放变量占用的存储单元,而静态局部变量不释放。
    注:由于静态局部变量在内存中存在的时间较长,即占用内存时间较长,故应尽量少使用static来修饰变量。

恒生公司2016研发工程师笔试卷选择题分析

  1. A.静态变量与常量作用不同:
    static:改变生命周期和限制作用域
    (1)作用于变量
    (2)作用与函数
    const:“只读”
    (1)定义常量
    (2)修饰指针
    (3)修饰函数中的参数和返回值
    B.函数中的静态变量:用static声明,使变量成为静态局部变量,编译时就为变量分配内存,直到程序退出时释放内存,在函数结束后不会被释放
    C.静态变量只进行一次初始化,但是它的值是可以改变的,也就是说可以被赋值
    D.static静态全局变量只能在定义它的文件中使用,作用域不是一个程序的所有源文件。

  2. 公用(public):访问权限最高;除派生类外,外部函数也可以直接访问(无论是成员变量还是成员函数)。
    私有(private):访问权限最低;只能是该类内部函数互相调用,派生类、外部函数都不能访问。
    保护(protect):访问权限中间;该类内部函数、派生类都能访问,外部类、外部函数不能访问
    我们这样来记会更加容易一些,在继承时:
    1、不管采用哪种形式(public, protected或private),基类中的私有成员都不可以被继承;如果非要在派生类中使用基类的私有成员,可以有两种方法:一是使用属性,二是使用友元类或友元函数。
    2、如果采用public形式,则基类除了私有成员的其它所有都被原样的继承到派生类中;即在基类中是public的,在派生类中还是public的,在基类中是protected的,在派生类中还是protected的。
    3、如果采用protected形式,则基类中除了私有成员的其它说有都被以protected的形式继承到派生类中。
    C++中的继承方式有:
    public、private、protected三种(它们直接影响到派生类的成员、及其对象对基类成员访问的规则)。
    (1)public(公有继承):继承时保持基类中各成员属性不变,并且基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象只能访问基类中的public成员。
    (2)private(私有继承):继承时基类中各成员属性均变为private,并且基类中private成员被隐藏。派生类的成员也只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象不能访问基类中的任何的成员。
    (3)protected(保护性继承):继承时基类中各成员属性均变为protected,并且基类中private成员被隐藏。派生类的成员只能访问基类中的public/protected成员,而不能访问private成员;派生类的对象不能访问基类中的任何的成员。

  3. A.只要允许,任何时候都应该添加索引以加快查询速度。(×)
    B.无论记录多少,使用索引都能给查询带来性能提升。(×)
    错误原因:对于表数据量少,插入,更新操作多的表,添加索引可能会使查询速度变慢。
    C.每次update/insert/delete操作都会导致索引被重新修改。(√)
    D.索引可以避免全表扫描。(√)
    正确原因:索引并不适合表频繁的update,
    insert,delete操作,这样会频繁的修改索引,造成性能低下。索引类似于指针访问,又类似于数组的下标访问,所以可以快速定位,避免全局扫描。当全表扫描速度快于索引查询速度时,索引会失效。

  4. 在Java中,哪种数据类型需要的内存最多?
    JAVA语言中定义了8种基本的数据类型,来保存变量。JAVA要求程序中的每一个变量都规定自己的类型。正因为如此,JAVA属于强类型语言,从而不同于JavaScript这样的弱类型脚本语言。
    byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。
    short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。
    == int==:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。
    long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。
    float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。
    double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。
    boolean:只有true和false两个取值。
    char:16位,存储Unicode码,用单引号赋值。
    所以,整型数据类型中,需要内存空间最多的是long。
    Object 是引用数据类型,只声明而不创建实例时,只会在栈内存中开辟空间,默认为空,空占1 bit。new Object()是16个字节,8个字节的Mark Word,4个字节的class类型信息,最后4个字节为填充。

  5. 视图除了进行查询记录外,也可以利用视图进行插入、更新、删除记录的操作,减少对基表中信息的直接操作,提高了数据的安全性。
    在视图上使用INSERT语句添加数据时,要符合以下规则:
    (1)使用INSERT语句向数据表中插入数据时,用户必须有插入数据的权利。
    (2)由于视图只引用表中的部分字段,所以通过视图插入数据时只能明确指定视图中引用的字段的取值。而那些表中并未引用的字段,必须知道在没有指定取值的情况下如何填充数据,因此视图中未引用的字段必须具备下列条件之一。
    该字段允许空值。
    该字段设有默认值。
    该字段是标识字段,可根据标识种子和标识增量自动填充数据。
    该字段的数据类型为timestamp或uniqueidentifier。
    (3)视图中不能包含多个字段值的组合,或者包含使用统计函数的结果。
    (4)视图中不能包含DISTINCT或GROUP BY子句。
    (5)如果视图中使用了WITH CHECK
    OPTION,那么该子句将检查插入的数据是否符合视图定义中SELECT语句所设置的条件。如果插入的数据不符合该条件,SQL Server会拒绝插入数据。
    (6)不能在一个语句中对多个基础表使用数据修改语句。因此,如果要向一个引用了多个数据表的视图添加数据时,必须使用多个INSERT语句进行添加。

【恒生公司2016研发工程师笔试卷选择题分析】相关推荐

  1. 网易2016研发工程师笔试题

    网易2016研发工程师笔试题 2015/12/9 11:25(网上收集整理的,参考答案在后面,若有错误请大神指出) 1. 执行指令find / -name "test.c",按ct ...

  2. 携程2016研发工程师笔试题

    携程2016研发工程师笔试题 2015/12/7 14:56(网上收集整理的,参考答案在后面,若有错误请大神指出) 1. 内存空间被分成不同区域,其中用函数 void*malloc(unsigned ...

  3. 猎豹移动2016研发工程师笔试题

    猎豹移动2016研发工程师笔试题 2015/12/6 13:03(网上收集整理的,参考答案在后面,若有错误请大神指出) 1.下列选项中,属于"10.174.20.176/28"该网 ...

  4. (5) 百度2011研发工程师笔试卷

    1 题目描述 给定两个数A,B(0,100000),求A^B最后三位数是多少 2 思路 * A^B 含义是A的B次方,而不是位运算 异或  * 思路 : A ^ B可能是一个很大的数,但只要求最后三位 ...

  5. (4) 百度2011研发工程师笔试卷

    1 题目描述 仅用o(1)的空间,将整数数组按奇偶数分成2部分,数组坐标是奇数,右边是偶数 2 采用插入排序的思想来解决. 3 java代码 /*** 题目描述:* 仅用o(1)的空间,将整数数组按奇 ...

  6. (3) 百度2011研发工程师笔试卷

    1 题目描述 判断一个括号字符串是否匹配正确,如果括号有多种,怎么做?如(([]))正确,[[(()错误. 2 思路 假设左括号为  ({[ 右括号为  )}] 采用栈来解决该问题,扫描字符串, 当前 ...

  7. 百度2020校招C++/PHP研发工程师笔试卷(第三批)

    单选 1. 下列关于关键路径的叙述中错误的是(D) A 关键路径是指在带权有向图中从源点到汇点的所有路径中具有最大路径长度的路径: B 关键路径上的所有活动都是关键活动,可通过加快关键活动来缩短整个工 ...

  8. 错题集之腾讯2016研发工程师笔试题(三)

    1.什么是内存对齐 假设我们同时声明两个变量: char a; short b; 用&(取地址符号)观察变量a, b的地址的话,我们会发现(以16位CPU为例): 如果a的地址是0x0000, ...

  9. 百度2021校招C /PHP研发工程师笔试卷(第一批)

    单选 1.以下代码会发生什么?D #include <iostream> #include <memory> using namespace std; void fun(std ...

最新文章

  1. MySQL体系结构之物理文件
  2. Microsoft Azure云服务停机!系水泵未知原因关闭导致
  3. Python中两种文件修改的方式
  4. first() mysql_EF6配合MySQL或MSSQL(CodeFirst模式)配置指引
  5. OpenJudge NOI 1.7 32:行程长度编码
  6. Saltstack之自定义grains
  7. ORAN专题系列-20:5G O-RAN 通过TR-069协议实现一体化小基站的自动配置和安装
  8. 富途证券招股书解读:近2个月客户资产下降
  9. 配置文件中的后缀dev、test和prod是什么意思
  10. Linux日文教程,【图片】#教程#修正配置 Noto Sans CJK 避免中文显示为异体(日文)字形【linux吧】_百度贴吧...
  11. ElasticSearch创建索引映射文档+IK分词器
  12. 阿里云 ECS windows服务器创建+部署+域名
  13. 锐龙AMD处理器 AndroidStudio无法安装使用安卓模拟器/虚拟机
  14. 工业信息物理系统测试验证平台(ETest_CPS)
  15. 微信小程序--邀请函
  16. 阿拉德之怒怎么用电脑玩 阿拉德之怒手游模拟器教程
  17. 第七十五章 SQL函数 LEFT
  18. RStudio无法成功下载stringi包
  19. 小米手环深圳通服务器维护,小米手环3 NFC版上手:手机刷公交卡的日子一去不复返了...
  20. 深度学习史上最全总结

热门文章

  1. SUB-1GHz 无线收发芯片DP4301性能兼容CMT2300跟进口的CC1101
  2. 学python处理数据结构_从零开始学Python - 第009课:常用数据结构之字符串
  3. Win7 Home变旗舰
  4. 小程序系列之网络请求
  5. [Java] 自己写的课程设计【游戏华容道】
  6. Oracle存储过程学习笔记
  7. ElasticSearch中的中文分词详解
  8. 文华学院计算机专业考研,本科土木跨考计算机专业研究生可行吗?
  9. 快速提取批量文件名称,详细步骤
  10. 超高人气机型 诺基亚N78手机图赏及评测