10道腾讯C++/Java笔试真题你能做对几道?3道就赢了80%的竞争者(含答案)

这是一篇包含10道腾讯笔试题目的文章,涵盖Linux进程间通讯、Java对象创建、多线程多进程、Windows编程、链表操作等知识点。每道题均附带答案和详细解释,帮助读者检验和提升编程技能。
摘要由CSDN通过智能技术生成

       整理了几道腾讯真题,来试试自己水平有多厉害吧,每题还有答案和详细解答哦。

       1、下列哪些可以用于Linux进程间通讯?

       A:UNIX套接字 B:信号量 C:无名管道 D:文件锁 E:共享内存

Linux进程通信六大方式:
1、管道及(pipe)有名管道
2、信号(signal)                
3、报文队列
4、共享内存
5、信号量(semaphore)
6、套接字(socket)
答案:ABCDE。

       2、Java语言中,如果"xyz"没有被创建过,String s =new String(“xyz”);创建了几个String Object?

       A:1                B:2                C:3                D:4

对于这句代码,可以分为两个过程:1、首先JVM 在字符串常量池内里查找是否包含字符串"xyz";如果存在的话,则进入第二步;否则,创建新的 String 对象,并放到字符串常量池里面。2、因为new String(“xyz”),所有会在堆里面创建 String 对象,引用的常量池的“xyz”。答案:B。

       3、NumberList是一个顺序容器,以下代码执行后,NumberList里的元素依次为:

	List<int> NubmerList = new List<int>(){2,4,1,3,5}; 
	for(int i = 0 ; i<NumberList.Count; i++){
   		 int v = NumberList[i];
		   if(v%2 ==0)  {
		    NumberList.Remove(v); //删除的是元素,而非下标
		   }  
    }

A:2,4,1,3,5         B:2,1,3,5         C:4,1,3,5         D:1,3,5

因为NumberList是顺序容器,第一次循环之后删除元素2,容器中2后面的所有元素需要向前移动一个位置,即{4,1,3,5}。而第二次循环判断的是i=1位置的元素,并没有对4进行操作,所以4并没有被删除。所以答案选C。

       4、关于多线程和多进程编程,下面描述正确的是():

评论 43
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值