24 October 2013

IMG-THUMBNAIL

有一个工作人员穿着youtobe的衣服,应该是从Google online store买到的,看着挺牛逼的,^_^。公司目前在发展乐视盒子和乐视电视,进军客厅。

###试题一

#####1. 程序,进程,线程的区别?进程的通信方式有哪些? 程序是用你适当形式描述的算法,是存储在硬盘上的静态的文件。 进程是某种类型的一个活动,是动态的,它有程序、输入、输出以及状态,如果一个程序运行了两次,算过两个进程。 线程是轻量级进程,进程间可以共享地址空间,可以更容易创建和撤销,如果存在大量计算和大量I/O处理,多线程可以使这些过程重叠进行,加快应用程序执行速度。

#####2. 删除一个单项链表的最中间的元素,要求时间尽可能短(代码和思路)。

#####3. 输入一个整形数组,数组有正数也有负数数组中连续的一个或多个整数组组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1,-2,3,10,-4,7,2,-5,和最大的子数组为3,10,-4,7,2,因此输出为该子数组的和18。


###试题二

#####1. 什么是死锁?产生的原因是什么?必要条件是什么?如何预防和解除? 如果一个进程集合中的每个进程都在等待只能由该进程集合中的其他进程才能引发的事件,那么,该进程集合就是死锁的。

######四个必要条件:

  • 互斥条件。资源每次只能被一个进程访问。
  • 占有和等待条件。已经得到某个资源的进程还可以再请求新资源。
  • 不可抢占条件。已经分配给一个进程的资源不能被强制地抢占。
  • 环路等待条件。每个进程都在等待着下一个进程所占有的资源。

######死锁的预防:

  • 互斥。一切都使用假脱机技术。
  • 占有和等待。在开始就请求全部资源。
  • 不可抢占。抢占资源。
  • 环路等待。对资源按序编号。

#####2. 假设有一个单向链表,请输出该链表中倒数第n个节点。

#####3. 给定数组A,大小为n,数组元素为1到n的数字,不过有的数字出现了多次,有的数字没有出现。请给出算法和程序,统计哪些数字没有出现,哪些数字出现了多少次。能够在O(n)的时间复杂度,O(1)的空间复杂度要求下完成么?

原文链接:乐视2014校园招聘笔试,转载请注明来源!

EOF