北京中长石基信息技术股份有限公司6月招聘面试题60道2020610

以下描述中,( )并不是多线程系统的特长。

A 利用线程并行地执行矩阵乘法运算。

B web服务器利用线程请求http服务

C 键盘驱动程序为每一个正在运行的应用配备一个线程,用来响应相应的键盘输入。

D 基于GUI的debugger用不同线程处理用户的输入、计算、跟踪等操作。


参考答案C


您最近创建多线程应用程序 Certkiller.com 库存系统的管理。完成任务,在应用程序中执行其他任务时定期执行。任务不需要经过任何输入,才能启动。您需要创建和启动使用适当的代码的执行线程。您应该使用哪个代码?()

A.

B.

C.

D.


参考答案:C
此代码创建一个引用的落实方法,创建名为 thFulfill,一个线程对象和调用 Start 方法开始线程执行的 ThreadStart 委托。


Certkiller.com 已要求您创建多线程应用程序,其中执行关键的数据库备份操作,按小时计算。您定义此操作,用下面的代码:public void BackupDB () {//Implementation code}然后,您可以创建一个线程对象,调用此方法的目的。您需要确保该线程计划之前任何其他线程在运行时执行。你应该做什么?()

A.

B.

C.

D.


参考答案:C
此代码实例化,将执行的 BackupDB 方法,指定将最高优先级调度线程的执行,并开始运行的线程的线程对象。当实例化一个线程对象,您必须指定它将调用的方法的名称。正在执行计划时,优先级属性指示线程在等待队列中的相对位置。如果有两个线程在等待队列到达相对的同时,更高的优先级线程将收到另前的时间片。优先级属性是一个 ThreadPriority 枚举值,可最低、 BelowNormal、 正常、 AboveNormal 和 Highest.by 默认情况下,优先级属性设置为 ThreadPriority.Normal。


mysql使用核心线程的完全多线程。这意味着它能很容易地利用多CPU。

A.错误

B.正确


参考答案:B


下面关于进程、线程的说法正确的是()。

A.进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索

B.线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行

C.Java多线程的运行与平台相关

D.对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务


正确答案:ABCD


北京中长石基信息技术股份有限公司6月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:创建一个简单tcp服务器需要的流程?可用的回答 : 1.socket创建一个套接字 2.bind绑定ip和port 3.listen使套接字变为可以被动链接 4.accept等待客户端的链接 5.recv/send接收发送数据 问题 Q2:如何在Python中实现多线程?可用的回答 :Python有一个多线程库,但是用多线程来加速代码的效果并不是那么的好,Python有一个名为Global Interpreter Lock(GIL)的结构。GIL确保每次只能执行一个“线程”。一个线程获取GIL执行相关操作,然后将GIL传递到下一个线程。虽然看起来程序被多线程并行执行,但它们实际上只是轮流使用相同的CPU核心。有这些GIL传递都增加了执行的开销。这意味着多线程并不能让程序运行的更快问题 Q3:列表的扁平化和降维?比如有一个二维列表,降成普通的一维的。如:groups = huahua, xiaojian, musen, yuze, keyou得到结果 huahua, xiaojian, musen, yuze, keyou可用的回答 : 方法一:最简单的方式可以通过 for 循环的方式一一提取: names = for group in groups: for name in group: names.append(name) print(names) 方法二:但是在面试的时候可能会加一些限制,比如让你用一行代码实现 这个时候就需要对 python 基础有进一步的理解了,比如说使用 sum 函数: names = sum(groups, ) 方法三:通过列表推导式也可以方便的解决: a = e for group in groups for e in group 问题 Q4:urllib 和 urllib2 的区别?可用的回答 : urllib 和urllib2都是接受URL请求的相关模块, 但是urllib2可以接受一个Request类的实例来设置URL请求的headers, urllib仅可以接受URL。urllib不可以伪装你的User-Agent字符串。 urllib提供urlencode()方法用来GET查询字符串的产生,而urllib2没有。 这是为何urllib常和urllib2一起使用的原因。 问题 Q5:什么是python模块?Python中有哪些常用的内置模块?可用的回答 :Python模块是包含Python代码的.py文件。此代码可以是函数类或变量。一些常用的内置模块包括:sys、math、os、re、random、time,datatime、json等问题 Q6:django对数据查询结果排序怎么做,降序怎么做,查询大于某个字段怎么做?可用的回答 : 排序使用order_by() 降序需要在排序字段名前加- 查询字段大于某个值:使用filter(字段名_gt=值) 问题 Q7:简单谈下GIL?可用的回答 : Python代码的执行由Python 虚拟机(也叫解释器主循环,CPython版本)来控制, Python 在设计之初就考虑到要在解释器的主循环中,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。 对Python 虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁能保证同一时刻只有一个线程在运行。 在多线程环境中,Python 虚拟机按以下方式执行: 1. 设置GIL 2. 切换到一个线程去运行 3. 运行: a. 指定数量的字节码指令,或者 b. 线程主动让出控制(可以调用time.sleep(0)) 4. 把线程设置为睡眠状态 5. 解锁GIL 6. 再次重复以上所有步骤 在调用外部代码(如C/C+扩展函数)的时候,GIL 将会被锁定, 直到这个函数结束为止(由于在这期间没有Python 的字节码被运行,所以不会做线程切换)。 问题 Q8:单引号,双引号,三引号的区别?可用的回答 : 单引号和双引号是等效的,如果要换行,需要符号(),三引号则可以直接换行,并且可以包含注释 如果要表示Lets go 这个字符串 单引号:s4 = Lets go 双引号:s5 = “Lets go” s6 = I realy like“python”! 这就是单引号和双引号都可以表示字符串的原因了 问题 Q9:什么是arp协议?可用的回答 : ARP(Address Resolution Protocol)即地址解析协议, 用于实现从 IP 地址到 MAC 地址的映射,即询问目标IP对应的MAC地址。 问题 Q10:Python是如何进行内存管理的?可用的回答 : 从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制 一、对象的引用计数机制 Python内部使用引用计数,来保持追踪内存中的对象,所有对象都有引用计数。 引用计数增加的情况: 1,一个对象分配一个新名称 2,将其放入一个容器中(如列表、元组或字典),引用计数减少的情况: 1,使用del语句对对象别名显示的销毁 2,引用超出作用域或被重新赋值 sys.getrefcount( )函数可以获得对象的当前引用计数 多数情况下,引用计数比你猜测得要大得多。对于不可变数据(如数字和字符串),解释器会在程序的不同部分共享内存,以便节约内存。 二、垃圾回收 1,当一个对象的引用计数归零时,它将被垃圾收集机制处理掉。 2,当两个对象a和b相互引用时,del语句可以减少a和b的引用计数,并销毁用于引用底层对象的名称。然而由于每个对象都包含一个对其他对象的应用,因此引用计数不会归零,对象也不会销毁。(从而导致内存泄露)。为解决这一问题,解释器会定期执行一个循环检测器,搜索不可访问对象的循环并删除它们。

下列不属于虚拟机执行过程的特点的是( )。A.多线程B.动态连接C.异常处理SX

下列不属于虚拟机执行过程的特点的是( )。

A.多线程

B.动态连接

C.异常处理

D.代码安全检查


正确答案:D
本题考查虚拟机执行过程的特点。Java虚拟机是编译器生成的字节码,不用考虑具体的硬件环境.实现-次编写,随处运行,实现其可移植性。虚拟机执行过程的特点有:多线程、动态连接、异常处理。代码安全检查是Java语言的一个突出特点,但不属于虚拟机执行过程特点。


下列说法中,错误的一项是 ( )

A.线程是程序中的一个执行流

B.多线程是程序中的多个执行流

C.线程是进程的一次动态执行过程

D.进程是程序的一次动态执行过程


正确答案:C
解析:该题考查的是进程和线程的概念。进程是程序的依次动态执行过程,它属于动态概念;线程是比进程更小的执行单位,是程序中的一个执行流。所以选项C的说法是错误的。


下列说法中,错误的是( )。

A.线程就是程序

B.线程是一个程序的单个执行流

C.多线程是指一个程序的多个执行流

D.多线程用于实现开发


正确答案:A
解析:将一个程序转换成为多个独立运行的子任务,每个子任务就是一个线程。线程是程序的一个执行流,它是一个以CPU为主体的行为。在Java中,线程的模型就是一个CPU、程序代码和数据的封装体。


下列说法中,错误的一项是______。

A.线程有其产生、存在和消亡的过程

B.一个进程可以创建多个线程

C.Java需要利用外部的线程支持库来实现多线程

D.在Java语言中支持多线程


正确答案:C


VB代码的问题?!

怎么写能让多核CPU满载,也就是申请CPU多线程(不是任务多线程)


首先你要知道cup多核与主频之间的关系,多核不是指运行速度的关键,是多任务时分配工作,使任务合理分配使得提升运算能力,主频是CPU运算能力的参数,多核就相当于多个人工作,主频就是这些人的工作能力有多强,主频高的多核CPU那就是非常高端的了,现在4核已经很普遍了,还有六核的,CPU多线程好像听说过,是英特尔酷督I7的四核8线程CPU,那是CPU出厂固有的参数,改不了。

更多 “北京中长石基信息技术股份有限公司6月招聘面试题60道2020610” 相关考题
考题 线程是程序中的一个执行流,一个执行流是由CPU运行程序的代码、()所形成的,因此,线程被认为是以CPU为主体的行为。正确答案:操纵程序的数据

考题 什么是线程?使用多线程有哪些好处?有会带来哪些问题?正确答案:通俗地讲,线程是一个代码执行流。使用多线程的好处是:(1)多线程为多个代码执行流并发执行提供了可能。(2)多线程程序比多进程程序降低了资源占用要求。使用多线程也会对系统产生一些不利影响:(1)线程需要占用内存,线程越多,内存占用越多。(2)线程过多,会消耗大量CPU时间来跟踪线程。(3)必须考虑多线程同时访问共享资源的问题,如果没有协调好,就会产生令人意想不到的问题,例如死锁和资源竞争等。(4)因为同一个任务的所有线程都共享相同的地址空间,并共享任务的全局变量,所以程序也必须考虑多线程同时访问的全局变量问题。

考题 在一个多线程应用程序中,每一个线程都有它自己的(),并且独立于应用程序中的其他线程。A、队列B、栈C、堆栈D、进程本题答案:C

考题 ()让同一个处理器上的多个线程同步执行并共享处理器的执行资源。A、超标量B、多核心C、超流水线D、多线程正确答案:D

考题 下列关于Java语言中线程的说法正确的有()。A、支持多线程机制B、一个线程创建并启动后,它将执行自己的run()方法,如果通过派生Thread类实现多线程,则需要在子类中重新定义run()方法,把需要执行的代码写入run()方法中;如果通过实现Runnable接口实现多线程,则要编写接口中的抽象方法----run()方法的方法体C、要在程序中实现多线程,必须导入类:importjava.lang.Thread;D、一个程序中的主类不是Thread的子类,该类也没有实现Runnable接口,则这个主类运行不能控制主线程的休眠正确答案:A,B,C

考题 举两个多线程程序设计的例子,其中多线程的性能比单线程的性能差。正确答案:A.任何形式的顺序程序对线程来说都不是一个好的形式。例如一个计算个人报酬的程序。B.一个“空壳”程序,如C-shell和kornshell。这种程序必须密切检测其本身的工作空间。如打开的文件、环境变量和当前工作目录。

考题 问答题举两个多线程程序设计的例子,其中多线程的性能比单线程的性能差。正确答案:A.任何形式的顺序程序对线程来说都不是一个好的形式。例如一个计算个人报酬的程序。B.一个“空壳”程序,如C-shell和kornshell。这种程序必须密切检测其本身的工作空间。如打开的文件、环境变量和当前工作目录。解析:暂无解析

考题 问答题线程的常见方法有哪些,你是如何处理多线程的,多线程同步问题你了解么?正确答案:线程创建的几种方式,线程的加锁,休眠,唤醒,解锁,退出,多线程要考虑同步问题,解决同步问题的方式就是对某一资源加锁,当一个线程操作本资源时,其他线程不能操作。系统自带线程池(NSOpertionQueuE.的作用(凡是需要启动多个线程的地方都可以使用NSOpertionQueue,加入到NSOpertionQueue中的对象都需要继承NSOpertion。NSOpertionQueue会在系统内部启动一个独立线程去执行这个被加入对象的main方法。常用的地方是用nsoprationqueue下载图片,文件。如果是自己创建一个线程池,无非就是启动多个线程的时候,把这些线程对象放到一个大数组中,如果需要启动线程的时候,先从数组中找空闲线程来使用。自己管理线程池最大的难题是不好处理当启动多个线程后,用户在多个界面的跳转的时候,对线程方法的回调管理。而NSOpertionQueue可以很好的处理他。解析:暂无解析

考题 线程的常见方法有哪些,你是如何处理多线程的,多线程同步问题你了解么?正确答案:线程创建的几种方式,线程的加锁,休眠,唤醒,解锁,退出,多线程要考虑同步问题,解决同步问题的方式就是对某一资源加锁,当一个线程操作本资源时,其他线程不能操作。系统自带线程池(NSOpertionQueuE.的作用(凡是需要启动多个线程的地方都可以使用NSOpertionQueue,加入到NSOpertionQueue中的对象都需要继承NSOpertion。NSOpertionQueue会在系统内部启动一个独立线程去执行这个被加入对象的main方法。常用的地方是用nsoprationqueue下载图片,文件。如果是自己创建一个线程池,无非就是启动多个线程的时候,把这些线程对象放到一个大数组中,如果需要启动线程的时候,先从数组中找空闲线程来使用。自己管理线程池最大的难题是不好处理当启动多个线程后,用户在多个界面的跳转的时候,对线程方法的回调管理。而NSOpertionQueue可以很好的处理他。

考题 单选题下面关于多线程的描述错误的是()。A 线程是进程中的一个执行单元;是操作系统分配CPU时间的基本单元。B IsAlive可以获得当前线程的执行状态C 新建一个线程必须要先实例化一个Thread对象D Thread对象的构造方法必须要使用ThreadStart委托正确答案:C解析:暂无解析