首页 >> 大全

微软校园招聘  研发工程师A

2023-07-28 大全 27 作者:考证青年

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.

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

2)SQL

3)Brute force 暴力破解

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

1)code

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

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

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

1)用并发包中的锁类

2)利用同步代码块

使用关键字

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

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

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

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

8.调用函数

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

_微软研发岗_微软工程院招聘

9.转int

(new ()).();

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

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了