程序员笔试题---搜狐研发岗

今天下午进行了搜狐公司实习生研发岗的笔试,题目都很基础,HR妹妹也很漂亮,也很温柔哦!

一、判断题

1.c语言中,int类型占4个字节。

2.IPv4占4个字节,IPv6占6个字节。

3.CPU占用的地址都是虚拟内存地址。

还有六道记不起来了,都是一些很基础的。

二、不定项选择题

1.c语言中,swith(c),c的类型可以是:byte,short,char,int  注意(long是不行的)

2.多线程的题目。

3.数据库的死锁方面的知识。

4.欧氏距离,马氏距离相关概念。

5.哈弗曼编码的知识(这个好多公司考)

6.二分查找。500个记录从大到小排列,最坏的情况下,要比较多少次记录。

7.排列组合的问题。(这个有2-3道题目)

8.表达式的前缀式和后缀式。

9.C语言中宏的定义和替换。

10.50个球队,采用淘汰制,每一局比赛就将失败的队伍淘汰,问最后的冠军,一共参加了几场比赛。

11.序列49,38,65,97,76,13,27,50.用快速排序的方式,需要几趟可以将之排成有序的。

12.一个二叉树的高度为8,则该二叉树最多的节点数是多少?

and so on。 都是一些基础知识。

三、填空题

1.linux下,界面shell的两种方式是?

2.4个线程并发执行,都需要5个资源A,则为了防止死锁,最少需要几个资源A?

3.从1-9中选出6个数,组成三个两位数并且都是质数,他们的和也是质数,问这个和最小是多少?

4.http请求资源,除了GET方式,还有哪三种?

5.多项式算法,成为什么算法。

6.linux下,获取pid等于1800的命令是什么?

7.一种动物,活到25岁以上的概率是0.7,活到30岁以上的概率是0.3,现在一个动物现年26岁,他活到30岁的概率是多少?

8.七层模型是哪七层,每层模型的协议有哪些?

四、论述题

1.浅谈云计算和移动互联

2.讲下GC的常用三种算法。

  • 引用计数(Reference Counting)
    比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。
  • 标记-清除(Mark-Sweep)
    此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除。此算法需要暂停整个应用,同时,会产生内存碎片。
  • 复制(Copying)
    此算法把内存空间划为两个相等的区域,每次只使用其中一个区域。垃圾回收时,遍历当前使用区域,把正在使用中的对象复制到另外一个区域中。次算法每次只处理正在使用中的对象,因此复制成本比较小,同时复制过去以后还能进行相应的内存整理,不过出现"碎片"问题。当然,此算法的缺点也是很明显的,就是需要两倍内存空间。
  • 标记-整理(Mark-Compact)
    此算法结合了"标记-清除"和"复制"两个算法的优点。也是分两阶段,第一阶段从根节点开始标记所有被引用对象,第二阶段遍历整个堆,把清除未标记对象并且把存活对象"压缩"到堆的其中一块,按顺序排放。此算法避免了"标记-清除"的碎片问题,同时也避免了"复制"算法的空间问题。
  • 增量收集(Incremental Collecting)
    实施垃圾回收算法,即:在应用进行的同时进行垃圾回收。不知道什么原因JDK5.0中的收集器没有使用这种算法的。
  • 分代(Generational Collecting)
    基于对对象生命周期分析后得出的垃圾回收算法。把对象分为年青代、年老代、持久代,对不同生命周期的对象使用不同的算法(上述方式中的一个)进行回收。现在的垃圾回收器(从J2SE1.2开始)都是使用此算法的。

3.虚函数在C++中的含义,多态对于面向对象有什么意义?

4.用非递归算法,求解斐波那契函数。

5.一个有序的序列,x1,x2,x3,,,xn.从中选出若干个数,使其和与给定的M最接近。写出思想。

这次搜狐的题目,出的整体很基础,我相信大家只要基础牢固的话,什么这些题目都是小case。

对答案有见解的童鞋,欢迎留言哦!

我的答案稍后奉上!嘿嘿!

你可能感兴趣的:(程序员笔试题---搜狐研发岗)