好消息来了!知乎今年秋招提前批java开发工程师的笔试题,分享给大家,附带选择题答案哦!       一、单选题        1. (本题2分)在操作系统中同时存在多个进程,它们( C)        A:不能共享系统资源       B:不能调用同一段程序代码       C:可以共享允许共享的系统资源       D:可以共享所有的系统资源       2. (本题2分)某进程在运行过程中需要等待从磁盘上读入数据,此时进程的状态将: (C )        A:从就绪变为运行       B:从运行变为就绪       C:从运行变为阻塞       D:从阻塞变为就绪       3. (本题2分)以下符合LIFO行为的是:A        A:栈       B:队列       C:哈希表       D:堆       4. (本题2分)对信号量描述错误的是D        A:是一个计数器       B:是一种锁机制       C:多个进程可以同时访问       D:多个线程不可以同时访问       5. (本题2分)如果某系统15★4 = 112成立,则系统采用的是( A)进制。       A:6        B:7        C:8        D:9        二、简答题        1. (本题10分)简述程序运行空间内的堆和栈的区别?                                   2. (本题10分)请简述你对并发和并行的理解                                  3. (本题10分)请简述并发与并行的区别,并简述什么是「线程安全」                                  三、编程题        1、题目名称:查找整数(25分)        时间限制:1000ms        题目描述:给定一个非降序的整数数组,数组中包含重复数字(重复数字很多) ,给定任意整数,对数组进行二分查找,返回数组正确的位置,给出函数实现。       a. 连续相同的数字,返回最后一个匹配的位置       b. 如果数字不存在返回 -1。(测试用例仅做参考,我们会根据代码质量进行评分)       输入描述:第一行给定数组长度n,目标值tar。(1<=n,tar<=10000)        第二行给出n个整数a.(1<=a<=10000)        输出描述:按题目描述输出。       示例1        输入       7 4        1 2 2 3 4 4 10        输出       5                                                                                         2、题目名称:求并集(25分)        时间限制:1000ms        题目描述:输出两个单向有序链表的并集 如链表 A {1 -> 2 -> 5 -> 7} 链表 B {3 -> 5 -> 7 -> 8} 输出: {1 -> 2 ->3 -> 5 -> 7 ->8} 。(测试用例仅做参考,我们会根据代码质量进行评分)       输入描述:第一行输入整数n,m,(1<=n,m<=1000)分别表示两个链表的长度。       第二行给出A链表所包含元素。(1<=a<=1000)        第三行给出B链表所包含元素。(1<=b<=1000)        输出描述:按题目描述输出。       示例1        输入       4 4        1 2 5 7        3 5 7 8        输出       1 -> 2 ->3 -> 5 -> 7 ->8                                                                                3、题目名称:计算逆波兰表达式的结果(25分)        时间限制:1000ms        题目描述:逆波兰记法中,操作符置于操作数的后面。例如表达“三加四”时,写作“3 4 +”,而不是“3 + 4”。如果有多个操作符,操作符置于第二个操作数的后面,所以常规中缀记法的“3 - 4 + 5”在逆波兰记法中写作“3 4 - 5 +”:先3减去4,再加上5。使用逆波兰记法的一个好处是不需要使用括号。例如中缀记法中“3 - 4 * 5”与“(3 - 4)*5”不相同,但后缀记法中前者写做“3 4 5 * -”,无歧义地表示“3 (4 5 *) -”;后者写做“3 4 - 5 *”。(测试用例仅做参考,我们会根据代码质量进行评分)       输入描述:第一行输入一个整数 n,表示包含元素数量.(1<=n<=1000)        第二行输入n个元素。       输出描述:输出计算后的结果。       示例1        输入       2 1 + 3 *        输出       9  
点赞 2
评论 0
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-31 17:23
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务