1.const

A. const int a;

B. int const a;

a是常数

C. int const *a;

D. const int *a;

常量指针,指向一个常量的指针

E. int * const a;

指针常量,初始化的时候固定指向一个int类型变量,之后就不能再指向别的地方了。

2.attrack method

1)Vulnerability scan 漏洞扫描:基于漏洞数据库,通过扫描等手段对指定的远程或本地计算机系统的安全脆弱性进行检测,发现可利用漏洞的一种渗透攻击行为。

2)SQL Injection

3)Brute force 暴力破解

3.dll被加载到内存时,哪些部分可以在进程间共享

1)code segment

2)   bss segment : 存放程序中未初始化的全局变量的一块内存区域。

4.实验鼠个数

8个瓶子,其中一个瓶子里面装的有毒试剂,最少需要几只实验鼠可以确定有毒试剂在哪个瓶子里?

答案:3只

解答:

8个瓶子编码0~7,并将编号用二进制表示

0:0 0 0

1:0 0 1

2:0 1 0

3:0 1 1

4:1 0 0

5:1 0 1

6:1 1 0

7:1 1 1

将最后一位为“1”的瓶子给实验鼠1吃:即1、3、5、7

将倒数第二位为“1”的瓶子给实验鼠2吃:即2、3、6、7

将倒数第三位为“1”的瓶子给实验鼠3吃:即4、5、6、7

发现实验鼠1死亡,实验鼠2活着,实验鼠3死亡

即实验鼠1吃了末尾为1的瓶子 - - 1

实验鼠2吃了中间为1的瓶子,但是活着,即 - 0 1

实验鼠3吃了开头为1的瓶子死亡,即 1 0 1

即瓶子5里的试剂有毒

5.并发、并行、线程安全

1)并发:某个时间段内,多任务交替处理的能力

CPU把可执行的时间均匀地分成若干份,每个进程执行一段时间后,记录当前的工作状态,释放相关的执行资源并进入等待状态,让其它进程抢占CPU资源。

2)并行:同时处理多任务的能力

目前,CPU 已经发展为多核,可以同时执行多个互不依赖的指令及执行块。

3)线程安全:因为各个线程轮流占用CPU的计算资源,可能会出现某个线程尚未执行完就不得不中断的情况,容易导致线程不安全。

线程安全问题只在多线程环境下才出现,单线程串行执行不存在此问题。

a.数据单线程内可见

b.只读对象

c.线程安全类

d.同步与锁机制

核心:要么只读,要么加锁

6.Lock继承关系

在AQS中,定义了一个volatile int state变量作为共享资源,如果线程获取资源失败,则进入同步FIFO队列中等待;如果成功获取资源就执行临界区代码。执行完释放资源时,会通知同步队列中的等待线程来获取资源后出队并执行。

7.Java中常用锁实现的方式

1)用并发包中的锁类

2)利用同步代码块

使用synchronized关键字

a.在方法签名处加synchronized关键字

b.使用synchronized(对象或类)进行同步

锁的范围尽可能小,锁的时间尽可能短,即能锁对象,就不要锁类;能锁代码块,就不要锁方法。

synchronized锁特性由JVM负责实现,JVM底层是通过监视锁来实现synchronized同步的,监视锁即monitor,是每个对象与生俱来的一个隐藏字段,使用synchronized时,JVM会根据synchronized的当前使用环境,找到对应对象的monitor,再根据monitor的状态进行加、解锁的判断。例如,线程在进入同步方法或代码块时,会获取该方法或代码块所属对象的monitor,进行加锁判断。如果成功加锁就成为该monitor的唯一持有者,monitor在被释放前,不能再被其他线程获取。

8.调用函数

__cdecl 是C Declaration的缩写,表示C语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈,被调用函数不会要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。

9.double转int

(new Double(result)).intValue();

先生成一个double的外覆型Double,再用Double的intValue()得到int

转载于:https://www.cnblogs.com/lick468/p/11446491.html

微软校园招聘  研发工程师A相关推荐

  1. linux研发工程师笔试题,2015-8-29阿里校园招聘研发工程师笔试题

    2015-8-29阿里校园招聘研发工程师笔试题 1. 某团队有2/5的人会写Java程序,有3/4的人会写C++程序,这个团队里同时会写Java和C++的至少有()人 A. 3  B. 4  C. 5 ...

  2. 腾讯2016校园招聘 研发工程师在线模拟

    1 二维数组X按行顺序存储,其中每个元素占1个存储单元.若X[4][4]的存储地址为Oxf8b82140,X[9][9]的存储地址为Oxf8b8221c,则X[7][7]的存储地址为(  ). 正确答 ...

  3. 阿里巴巴2016校园招聘 研发工程师(二)详解

    ##单选题 #####1.使用KMP算法在文本串S中找模式串P是一种常见的方法.假设S=P={xyxyyxxyx},亦即将S对自己进行匹配,匹配过程中正确的next数组是____. A. 0,1,1, ...

  4. 阿里招linux程序员吗,2015-8-29阿里校园招聘研发工程师笔试题(另一篇)

    前言:原题来自于网络:http://www.linuxidc.com/Linux/2014-10/108752.htm.本人根据自己理解对题目进行解答,由于水平有限,题目有不会做.做错的地方,欢迎大家 ...

  5. 阿里巴巴2015秋季校园招聘研发工程师在线笔试题

    1. 下列关键字序列为堆的是 . A. 100, 60, 70, 50, 32, 65 B. 60, 70, 65, 50, 32, 100 C. 65, 100, 70, 32, 50, 60 D. ...

  6. 2015-8-29阿里校园招聘研发工程师笔试题

    前言:原题来自于网络:http://www.cnblogs.com/nausicaa/p/3946694.html.本人根据自己理解对题目进行解答,由于水平有限,题目有不会做.做错的地方,欢迎大家留言 ...

  7. 百度校园招聘-研发工程师笔试

    1,当前计算机系统一般会采用层次结构存储数据,请介绍下典型计算机存储系统一般分为哪几个层次,为什么采用分层存储数据能有效提高程序的执行效率? 所谓存储系统的层次结构,就是把各种不同存储容量.存取速度和 ...

  8. 重排序列(水题) - 网易2018校园招聘研发工程师(有道事业部)笔试卷

    时间限制:1秒 空间限制:32768K 题目描述 小易有一个长度为N的正整数序列A={A[1], A[2], A[3], -, A[n]}. 牛博士给小易出了一个难题: 对数列A进行重新排列,使数列A ...

  9. 阿里巴巴2016校园招聘 研发工程师(三)详解

    ##单选题 #####1.从1,2,3,4-8,9 里任意选择一部分数(至少1个),能得到多少种不同的乘积. A. 144 B. 148 C. 152 D. 156 E. 160 F. 164 ### ...

最新文章

  1. Linux系统 shell基础(二)
  2. Python将JSON格式数据转换为SQL语句以便导入MySQL数据库
  3. 前端小白进阶笔记之多级菜单分享
  4. Linux中的两种守护进程stand alone和xinetd
  5. python pathlib
  6. 中国团队屠榜:COCOMapillary挑战赛包揽全部冠军
  7. 【t092】迷之阶梯
  8. 基于jenkins的自动化部署实现
  9. 金山词霸-身边的实用工具
  10. 基于BP神经网络的数字识别
  11. 操作系统-io设备基本概念和分类
  12. 基于STM32的超声波传感器测距(含代码)
  13. Day 21 第三关练习题-权限
  14. 在vue中,用路由router跳转打开一个新标签页
  15. Linux文本三剑客(grep、sed、awk)
  16. 阿尔法c语言程序设计考试题,计算机考试习题
  17. 王者荣耀android换ios,2021王者荣耀安卓账号可以转苹果吗 2021年安卓账号转移到ios方法...
  18. 使用微信web开发者工具调试微信企业号页面
  19. java个人常见异常
  20. @vant/weapp

热门文章

  1. 大数据是把双刃剑,关键看怎么用
  2. 解决罗技G502HERO鼠标乱飘的问题
  3. 2-1 实变函数之集合论
  4. Mac本外接显示器怎么竖过来呢?
  5. 新年手机圈掀起红色时尚风暴,OPPO R9s将推出新年特别版
  6. java 邮件 定时_Java定时发送邮件
  7. 暴风科技暴涨之后或将一地鸡毛
  8. PixiJS 6.2.0 图层层级 zindex
  9. L1L2正则化图形解读
  10. 五个很酷的平铺窗口管理器