多线程笔试面试题汇总

第一篇    多线程笔试面试题汇总

本文转载于秒杀多线程系列,原博客地址:http://blog.csdn.net/morewindows/article/details/7392749

多线程在笔试面试中经常出现,下面列出一些公司的多线程笔试面试题。首先是一些概念性的问答题,这些是多线程的基础知识,经常出现在面试中的第一轮面试(我参加2011年腾讯研究院实习生招聘时就被问到了几个概念性题目)。然后是一些选择题,这些一般在笔试时出现,虽然不是太难,但如果在选择题上花费大多时间无疑会对后面的编程题造成影响,因此必须迅速的解决掉。最后是综合题即难一些的问答题或是编程题。这种题目当然是最难解决了,要么会引来面试官的追问,要么就很容易考虑不周全,因此解决这类题目时一定要考虑全面和细致。

下面就来看看这三类题目吧。

一.概念性问答题

第一题:线程的基本概念、线程的基本状态及状态之间的关系?

第二题:线程与进程的区别?

这个题目问到的概率相当大,计算机专业考研中也常常考到。要想全部答出比较难。

第三题:多线程有几种实现方法,都是什么?

第四题:多线程同步和互斥有几种实现方法,都是什么?

我在参加2011年迅雷校园招聘时的一面和二面都被问到这个题目,回答的好将会给面试成绩加不少分。

第五题:多线程同步和互斥有何异同,在什么情况下分别使用他们?举例说明。

二.选择题

第一题(百度笔试题):

以下多线程对int型变量x的操作,哪几个不需要进行同步: 
A. x=y;      B. x++;    C. ++x;    D. x=1;

第二题(阿里巴巴笔试题)

多线程中栈与堆是公有的还是私有的

A:栈公有, 堆私有

B:栈公有,堆公有

C:栈私有, 堆公有

D:栈私有,堆私有

三.综合题

第一题(台湾某杀毒软件公司面试题):

在Windows编程中互斥量与临界区比较类似,请分析一下二者的主要区别。

第二题:

一个全局变量tally,两个线程并发执行(代码段都是ThreadProc),问两个线程都结束后,tally取值范围。

inttally = 0;//glable

voidThreadProc()

{

for(inti = 1; i <= 50; i++)

tally += 1;

}

第三题(某培训机构的练习题):

子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码。

第四题(迅雷笔试题):

编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。

第五题(Google面试题)

有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD。初始都为空。现要让四个文件呈如下格式:

A:1 2 3 4 1 2....

B:2 3 4 1 2 3....

C:3 4 1 2 3 4....

D:4 1 2 3 4 1....

请设计程序。

下面的第六题与第七题也是在考研中或是程序员和软件设计师认证考试中的热门试题。

第六题

生产者消费者问题

这是一个非常经典的多线程题目,题目大意如下:有一个生产者在生产产品,这些产品将提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个有多个缓冲区的缓冲池,生产者将它生产的产品放入一个缓冲区中,消费者可以从缓冲区中取走产品进行消费,所有生产者和消费者都是异步方式运行的,但它们必须保持同步,即不允许消费者到一个空的缓冲区中取产品,也不允许生产者向一个已经装满产品且尚未被取走的缓冲区中投放产品。

第七题

读者写者问题

这也是一个非常经典的多线程题目,题目大意如下:有一个写者很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者读时写者也不能写。

多线程相关题目就列举到此,如果各位有多线程方面的笔试面试题,欢迎提供给我,我将及时补上。谢谢大家。

原文地址:https://www.cnblogs.com/curo0119/p/8353117.html

时间: 2024-10-21 11:05:33

多线程笔试面试题汇总的相关文章

秒杀多线程第一篇 多线程笔试面试题汇总 ZZ 【多线程】

http://blog.csdn.net/morewindows/article/details/7392749 系列前言 本系列是本人参加微软亚洲研究院,腾讯研究院,迅雷面试时整理的,另外也加入一些其它IT公司如百度,阿里巴巴的笔试面试题目,因此具有很强的针对性.系列中不但会详细讲解多线程同步互斥的各种“招式”,而且会进一步的讲解多线程同步互斥的“内功心法”.有了“招式”和“内功心法”,相信你也能对多线程挥洒自如,在笔试面试中顺利的秒杀多线程试题. ----------------------

秒杀多线程第一篇 多线程笔试面试题汇总

版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 系列前言 本系列是本人参加微软亚洲研究院,腾讯研究院,迅雷面试时整理的,另外也加入一些其它IT公司如百度,阿里巴巴的笔试面试题目,因此具有很强的针对性.系列中不但会详细讲解多线程同步互斥的各种“招式”,而且会进一步的讲解多线程同步互斥的“内功心法”.有了“招式”和“内功心法”,相信你也能对多线程挥洒自如,在笔试面试中顺利的秒杀多线程试题. -------------------------------------华丽的分割线

AJAX笔试面试题汇总

AJAX笔试面试题汇总 Javascript 1. 什么是ajax,为什么要使用Ajax(请谈一下你对Ajax的认识) 什么是ajax: AJAX是“Asynchronous JavaScript and XML”的缩写.他是指一种创建交互式网页应用的网页开发技术. Ajax包含下列技术: 基于web标准(standards-based presentation)XHTML+CSS的表示: 使用 DOM(Document Object Model)进行动态显示及交互: 使用 XML 和 XSLT

Web前端笔试面试题汇总(转自github)

前言 本文总结了一些优质的前端面试题(多数源于网络),初学者阅后也要用心钻研其中的原理,重要知识需要系统学习,透彻学习,形成自己的知识链.万不可投机取巧,只求面试过关是错误的! 面试有几点需注意: 1.面试题目: 根据你的等级和职位变化,入门级到专家级:范围↑.深度↑.方     向↑. 2.题目类型: 技术视野.项目细节.理论知识题,算法题,开放性题,案例题. 3.进行追问: 可以确保问到你开始不懂或面试官开始不懂为止,这样可以大大延     展题目的区分度和深度,知道你的实际能力.因为这种关

Android开发经典笔试面试题汇总(持续更新中)

1.我们都知道Handler是线程与Activity通信的桥梁,假设线程处理不当.你的机器就会变得非常慢,那么线程销毁的方法是:(A) A. onDestroy() B. onClear() C. onFinish() D. onStop() 理解:正确销毁线程的方法应该是handler.removeCallBacks(). 2.SharedPreferences保存文件的路径和扩展名是:/data/data/package_name/shared_prefs/ *.xml. 3.Android

2018秋招数据库笔试面试题汇总

基础概念 1. 什么是数据库事务?事务有什么特点? 数据库事务:是指作为单个逻辑工作单元执行的一系列操作,这些操作要么全做,要么全不做,是一个不可分割的工作单元. 事务特点: 原子性 一致性 隔离性 持久性特 2. 主键和外键的区别? 主键所在的列的值是唯一的,不可为空的 外键所在的列的值可以重复,可以为空的,不能创建对应表中不存在的外键值 3. truncate与delete的区别? 比较 truncate delete 相同点 删除表中的全部行 不带where字句删除表中的全部行 相同点 删

2015年阿里巴巴校招研发工程师在线笔试题汇总

在线笔试题汇总 卷一: 1.下面的函数中哪个是系统调用而不是库函数______? printf scanf fgetc read print_s scan_s 2.某足球队有四名外援,分别来自巴西.荷兰.意大利和美国.他们分别擅长前锋.后卫或守门,其中: ① 美国外援单独擅长守门: ② 意大利外援不擅长前锋: ③ 巴西外援和另外某个外援擅长相同的位置: ④ 荷兰外援擅长的位置和巴西外援不同. 以上条件可以推出巴西外援擅长的位置是______. 前锋 守门 后卫 前锋或守门 后卫或守门 前锋或后卫

可能碰到的iOS笔试面试题(4)--C语言

可能碰到的iOS笔试面试题(4)--C语言 可能碰到的iOS笔试面试题(4)--C语言 C语言,开发的基础功底,iOS很多高级应用都要和C语言打交道,所以,C语言在iOS开发中的重要性,你懂的.里面的一些问题可能并不是C语言问题,但是属于计算机的一些原理性的知识点,所以我就不再另外写一篇文章了,直接写在这里. 当你写下面的代码时会发生什么事? least = MIN(*p++, b); 结果是:((p++) <= (b) ? (p++) : (*p++)) 这个表达式会产生副作用,指针p会作三次

Android常见笔试&amp;面试题

一.JAVA部分: (挂起) 二.Android部分: 1.Android系统的架构 2.Android常用的五大布局 3.Android四大组件是什么 4.Activity的生命周期 5.Activity的四种启动模式 6.Service的启动方式有几种,有什么区别 7.BroadCastReceiver的使用机制 8.谈一谈Handler的工作机制 9.Service运行在哪个线程中 10.两个子线程中如何通过Handler来进行通讯 11.对于不同分辨率屏幕适配你是怎么做的 12.怎样彻底