搜狐2016研发工程师编程题及答案

合集下载

网易2016研发工程师编程题及答案 (二)

网易2016研发工程师编程题及答案 (二)
小 v 今年有 n 门课,每门都有考试,为了拿到奖学金,小 v 必须让自己的平均成绩至少为 avg。每门课由平时成绩和考试成绩组成,满分为 r。现在他知 道每门课的平时成绩为 ai ,若想让这门课的考试成绩多拿一分的话,小 v 要花 bi 的时间复习,不复习的话当然就是 0 分。同时我们显然可以发现复习得再 多也不会拿到超过满分的分数。为了拿到奖学金,小 v 至少要花多少时间复习。
45
v.push_back(tmp);
46
}
47
48
int target = v.size()*avg;
49
int score_cur = 0;
50
long time = 0;
51
for(int i=0; i<v.size(); ++i){
52
score_cur += v[i].score;
53
}
7 #include <cstdio>
8 using namespace std;
9
10 int main()
11 {
12
int n;
13
long l;
14
vector<long> v;
15
int tmp;
16
while(cin >> n >>l){
17
v.clear();
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 }
1 /*(c/c++)
2 只需满足平均成绩大于等于 avg 即可,不管单科成绩。
3 所以先从花时间最少的课开始复习,使其满分。

百度2016研发工程师笔试题及答案(三)

百度2016研发工程师笔试题及答案(三)

1 2 3 4 5

function * gen() { yield 1; yield 2; yield 3; }
下面选项描述正确的是哪个? 正确答案: C 你的答案: 空 (错误)
gen()执行后返回 2 gen()执行后返回 undefined gen()执行后返回一个 Generator 对象 gen()执行后返回 1 单道批处理系统中有 4 个作业,J1 的提交时间 8.0,运行时间为 2.0;J2 的提交时间 8.6, 运行时间为 0.6;J3 提交时间 8.8,运行时间为 0.2;J4 的提交时间 9.0,运行时间为 0.5。 在采用响应比高者优先调度算法时,其平均周转时间为 T 为()小时? 正确答案: C 你的答案: 空 (错误) 2.5 1.8 1.975 2.675 设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是 正确答案: D 你的答案: 空 (错误) n=0;while(ch=getchar()!='\n')n++; n=0;while(getchar()!='\n')n++; for(n=0;getchar()!='\n';n++); n=0;for(ch=getchar();ch!='\n';n++); iframe 的使用场景有? 正确答案: A B C D 你的答案: 空 (错误) 与第三方域名下的页面共享 cookie 上传图片,避免当前页刷新 左边固定右边自适应的布局 资源加载 以下说法正确的是? 正确答案: B D 你的答案: 空 (错误) 在多线程中不加限制的随意访问非 static 局部变量不会导致运算结果出错 在多线程中不加限制的随意访问非 static 全局变量可能会导致运算结果出错 在多线程中不加限制的随意访问 static 局部变量不会导致运算结果出错 在多线程中不加限制的随意访问 static 全局变量可能会导致运算结果出错 数据链路层采用后退 N 帧(GBN)协议,发送方已经发送了编号为 0~7 的帧。当计时器超 时时,若发送方只收到 0.2.3 号帧的确认,则发送方需要重发的帧数是? 正确答案: A 你的答案: 空 (错误) 4 2

搜狐研发笔试

搜狐研发笔试

搜狐研发笔试1.二进制101.00101对应的16进制数是2.foo()的时间复杂度是O(1),计算下面代码的时间复杂度for(int i = 1; i < n ; i*=2) {for(int j = i/2; j < i; j++) {foo();}}3.a.hashCode==b.hashcode || a.equals(b);a.hashCode+b.hashCode >2*a.hashCode*b.hashCode返回之确定吗?4.同一thread的对象调用两次start()方法会出现异常吗?直接调用run()方法呢?5.必须在同步块中的是clone(),wait(0),wait(0),notify(),notifyAll();6.实现一个栈结构7.实现一个能够动态增长的数组8.实现计算字符串的哈希函数9.不用正则的方法实现split(String str, String sep)10.描述哈希表的原理并描述解决冲突的方法11.Map<Integer, Integer[]> 将key->value[]转换为value->key[]12.编程实现一个生产者消费者模型13.js:reverse('a,b,c,d,e')返回'e#d#c#b#a'14.js:写一个String类中实现trim()函数15.iframe内嵌页面能读取cookie?外嵌页面能访问内嵌页面元素?内嵌页面能访问外嵌页面页面?16.假定你已经有个函数叫rand7,它可以随机产生0-7之间的均匀分布。

那么要产生0-10的随机概率分布呢?17.网络:描述RAID种类。

搜狐面试研发类笔试题

搜狐面试研发类笔试题
printf("%d\\n",test.b);
问题:在80X86架构下,输出什么值?填空题。
其他的想不起来了。
二、名词解释
10个,给出英文简写,要求写出英文全称,一句话解释是干什么的就行
LVS,QoS,AIO,Round Robin,SVN,VBA,SDK,IoC, FIFO,MVC
FIFO :先入先出队列(First Input First Output,FIFO)这是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令。
搜狐研发类笔试题主要分为三类:选择题、名词解释、编程题
选择题一共20道:
题目原题记不太清了,只记得大概的知识点,题目的顺序也不完全一致。
1.给出一个网络图,有交换机,路由器,一般电脑,要求圈出一个最小子网。
2.Java的一个基础题目
给出两个类,类B,类A, A继承B,给出一段代码,创建了A和B的实例,要求选出符合语法的选项,主要
D: lock(m1) lock(m2) unlock(m1) unlock(m2) lock(m1) unlock(m1)
11: 外部排序常用的算法?
A:归并排序 B:快速排序 C:堆排序 D:希尔排序
12: 在对空间和时间都有限制的实时系统中,常使用的排序算法?
A:插入排序 B:堆排序 C:快速排序 D:归并排序
10: 下列哪种操作可能带来死锁?
A: lock(m1) lock(m2) unlock(m1) unlock(m2)
B: lock(m1) lock(m2) unlock(m2) lock(m2) unlock(m1) unlock(m2)
C: lock(m1) lock(m2) unlock(m1) lock(m1) unlock(m2) unlock(m1)

搜狐研发工程师模拟笔试题(一)

搜狐研发工程师模拟笔试题(一)

17. 下面名词解释错误的是: A SQL结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系
数据库系统
B TCP 传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议
C QoS 服务质量,是⺴络的一种安全机制。QoS是局域⺴的一个重要的需求。 D STL 标准模板库

牛客网-中国最大IT笔试/面试题库
搜狐研发工程师模拟笔试题(一)
一. 单项选择题
1. 从以下四个选项中选出不同的一个? A CVS B SVN C GIT D SSH
2. 从以下四个选项选出不同的一个。 A LVS B Nginx C Lighttpd D Apache
3. 从四个选项选出不同的一个。 A JQuery B Node.js C Prototype D CommonJS
问题:在80X86架构下,输出什么值?
A -128
B -256
C 128
D 256
13. 以下程序的输出是
class Base { public: Base(int j): i(j) {}
牛客出品-

牛客网-中国最大IT笔试/面试题库

牛客网-中国最大IT笔试/面试题库
技术QQ群:379386529
微博:/nowcoder
微信
登录牛客⺴,参与以上题⺫讨论,查看更多笔试面试题
牛客出品-

牛客网-中国最大IT笔试/面试题库
A 254 B 255 C 256 D 死循环

牛客网-中国最大IT笔试/面试题库
15. 每份考卷都有一个8位二进制序列号。当且仅当一个序列号含有偶数个1时,它才是有效的。例 如,00000000、01010011都是有效的序列号,而11111110不是。那么,有效的序列号共有() 个 A 127 B 128 C 255 D 256

蘑菇街2016研发工程师在线编程题

蘑菇街2016研发工程师在线编程题

蘑菇街2016研发⼯程师在线编程题⼀. 编程题1. 现在有⼀张半径为r 的圆桌,其中⼼位于(x,y),现在他想把圆桌的中⼼移到(x1,y1)。

每次移动⼀步,都必须在圆桌边缘固定⼀个点然后将圆桌绕这个点旋转。

问最少需要移动⼏步。

2. 给定⼀个递增序列,a 1 <a 2 <...<a n 。

定义这个序列的最⼤间隔为d=max{a i+1 - a i }(1≤i<n),现在要从a 2 ,a3..a n-1 中删除⼀个元素。

问剩余序列的最⼤间隔最⼩是多少?3. A 和B 是好友,他们经常在空闲时间聊天,A 的空闲时间为[a 1 ,b 1 ],[a 2 ,b 2 ]..[a p ,b p ]。

B 的空闲时间是[c 1+t,d 1 +t]..[c q +t,d q +t],这⾥t 为B 的起床时间。

这些时间包括了边界点。

B 的起床时间为[l,r]的⼀个时刻。

若⼀个起床时间能使两⼈在任意时刻聊天,那么这个时间就是合适的,问有多少个合适的起床时间?4. 有⼀个投篮游戏。

球场有p 个篮筐,编号为0,1...,p-1。

每个篮筐下有个袋⼦,每个袋⼦最多装⼀个篮球。

有n 个篮球,每个球编号x i 。

规则是将数字为x i 的篮球投到x i 除p 的余数为编号的袋⾥。

若袋⾥已有篮球则球弹出游戏结束输出i ,否则重复⾄所有球都投完。

输出-1。

问游戏最终的输出是什么?5. 给定⼀个字符串,问是否能通过添加⼀个字⺟将其变为回⽂串。

登录⽜客⺴,参与以上题⺫讨论,查看更多笔试⾯试题技术QQ 群:379386529 微博:/nowcoder 微信⽜客⽹-中国最⼤IT 笔试/⾯试题库⽜客出品-。

搜狐2016研发工程师笔试题及答案

搜狐2016研发工程师笔试题及答案
50 100 1DF(累积分布函数)描述错误的 是() 正确答案: A 你的答案: 空 (错误) PDF 描述的是连续型随机变量在特定取值区间的概率 CDF 是 PDF 在特定区间上的积分 PMF 描述的是离散型随机变量在特定取值点的概率 有一个分布的 CDF 函数 H(x),则 H(a)等于 P(X<=a) 一个全局变量 tally,两个线程并发执行(代码段都是 ThreadProc),问两个线程都结束 后,tally 取值范围为_______ 1 int tally=0;//全局变量 2 void ThreadProc(){ 3 for(int i=1;i<=50;i++) 4 tally+=1; 5 } 正确答案: A 你的答案: 空 (错误) [50,100] [100.100] [1275,2550] [2550,2550]
linux 下给文件 start.sh 设置权限为自己可读可修改可执行,组内用户为可读可执行不 可修改,其余用户没有任何权限,那么设置该文件权限的命令为() 正确答案: B 你的答案: 空 (错误) chmod chmod chmod chmod start.sh start.sh start.sh start.sh 706 750 705 777
思路: 1、 首先建立 id_index 的 hash 表, 该表的作用为将节点 id 映射到节点在 array 中的下标,方便以后查询 2、算法的主要思想是先处理叶子节点(叶子节点 state 为 0),处理叶子节 点时,将叶子节点的权重添加到其父节点上,并将叶子节点标记为删除(将对应的 斯 state 设置为-1),这时原来高度为 1 的所有节点又变成新的叶子节点,然后迭代 处理,直到处理完根节点 3、 其中 state 和 weight 分别为数组 array 中对应节点的状态(-1, 0, 1)和权重

搜狗2016研发工程师笔试题及答案

搜狗2016研发工程师笔试题及答案
关于虚函数的描述正确的是() 正确答案: B 你的答案: 空 (错误)
派生类的虚函数与基类的虚函数具有不同的参数个数和类型 内联函数不能是虚函数 派生类必须重新定义基类的虚函数 虚函数可以是一个 static 型的函数
32 位/33MHzPCI 总线的峰值带宽是多少? 正确答案: C 你的答案: 空 (错误)
下列不是 SVM 核函数的是: 正确答案: B 你的答案: 空 (错误)
多项式核函数 logistic 核函数 径向基核函数 Sigmoid 核函数
组成数字 1 到 2,000,000 的所有数字的各位的总和是
正确答案: A 你的答案: 空 (错误)
55,000,002 45,000,002 2,000,001,000,000 10,999,902
两个人两个小时能组装两辆自行车,要在 6 小时内组装 12 辆自行车,需要多少人? 正确答案: C 你的答案: 空 (错误)
均匀分布 泊松分布 二项分布 正态分布
对一个由 A,B,C,D 随机组成的序列进行哈弗曼编码,据统计,各个元素的概率分别 为:P(A)=0.4,P(B)=0.35,P(C)=0.2,P(D)=0.05,请问该编码的平均期望编码长 度为()bits? 正确答案: C 你的答案: 空 (错误)
1.45 1.7 1.85 1.92
4
return str;
5}
6 int main()
7{
8
std::string& str_ref=test_str();
9
std::cout<<str_ref<<std::endl;
10
return 0;
11 }
正确答案: A B D 你的答案: 空 (错误)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

// JJA
returnmake_pair(3, *max_element(s.begin(), s.end())); }
string& exchange(string& raw, string ns, string ne) { intlen = raw.size(); intp1 = raw.find(ns); while(p1 < len && p1 >= { raw.replace(raw.begin()+p1, raw.begin()+p1+ns.size(), ne); p1 = raw.find(ns, p1); 0)
搜狐员工小王最近利用假期在外地旅游,在某个小镇碰到一个马戏团表演,精彩的 表演结束后发现团长正和大伙在帐篷前激烈讨论,小王打听了下了解到, 马戏团正 打算出一个新节目“最高罗汉塔”,即马戏团员叠罗汉表演。考虑到安全因素,要求 叠罗汉过程中,站在某个人肩上的人应该既比自己矮又比自己瘦,或相等。 团长想 要本次节目中的罗汉塔叠的最高,由于人数众多,正在头疼如何安排人员的问题。 小王觉得这个问题很简单, 于是统计了参与最高罗汉塔表演的所有团员的身高体重, 并且很快找到叠最高罗汉塔的人员序列。 现在你手上也拿到了这样一份身高体重表, 请找出可以叠出的最高罗汉塔的高度,这份表中马戏团员依次编号为 1 到 N。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
import java.util.Scanner; public class Main { public static class Dis{ int Num; //马戏团成员的编号 int high; //身高 int weight; //体重 int max_high; //记录这个马戏团成员为最下面的一个人,最多可以叠 多少层罗汉 } public static void main(String args[]){ Scanner cin = new Scanner(System.in); while(cin.hasNext()){ int n = cin.nextInt(); Dis map[] = new Dis[n]; for(int i = 0;i < n;i++){ map[i] = new Dis(); //每次进入的元素插入 队尾 map[i].Num = cin.nextInt(); map[i].weight = cin.nextInt(); map[i].high = cin.nextInt(); for(int j = i;j > 0;j--){ //使用冒泡排 序,对新插入的元素插入队列,按照体重从小到大的顺序排序 if(map[j].weight < map[j-1].weight){ int Num = map[j].Num; int high = map[j].high; int weight = map[j].weight; map[j].Num = map[j-1].Num; map[j].high = map[j-1].high; map[j].weight = map[j-1].weight; map[j-1].Num = Num; map[j-1].high = high;
pair<int, int> t1 = judgeType(s1); pair<int, int> t2 = judgeType(s2);
113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154ng s1; string s2; while(cin >> s1 >> s2) { //I-J-K-L-M-N <=> 10, J, Q, K ,A s1 = exchange(s1, s1 = exchange(s1, s1 = exchange(s1, s1 = exchange(s1, s2 = exchange(s2, s2 = exchange(s2, s2 = exchange(s2, s2 = exchange(s2, "10", "K", "Q", "A", "10", "K", "Q", "A", "I"); "L"); "K"); "M"); "I"); "L"); "K"); "M");
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
} returnraw; }
if(s1 == s2) cout << else { if(t1.first > t2.first) cout << "1"<< endl; "0"<< endl;
elseif(t1.first < t2.first) cout << else { if(t2.second != t1.second) cout << (t1.second > t2.second ? "1": "-1") << endl; elseif(s1[1] != s2[1]) cout << (s1[1] > s2[1] ? << endl; elseif(s1[0] != s2[0]) cout << (s1[0] > s2[0] ? << endl; else cout << } } "0"<< endl; "1": "-1") "1": "-1") "-1"<< endl;
sort(s.begin(), s.end()); if(s[0] == s[1] && s[1] == s[2]) returnmake_pair(6, s[0]); elseif(s[1]-s[0] == 1&& s[2]-s[1] == // KKK 1) // JQK
returnmake_pair(5, s[0]); if(s[0] == s[1]) returnmake_pair(4, s[0]); elseif(s[0] == s[2]) returnmake_pair(4, s[0]); elseif(s[1] == s[2]) returnmake_pair(4, s[1]);
/* return a <type, first_max_element> */ pair<int, { intlen = s.size(); int> judgeType(string& s)
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { int N = scanner.nextInt(); int[] grades = new int[N]; for (int i = 0; i < N; i++) { grades[i] = scanner.nextInt(); } int[] bonus = new int[N]; int[] cobonus = new int[N]; bonus[0] = 1; cobonus[N-1] = 1; for (int i = 1; i < grades.length; i++) { if (grades[i] > grades[i-1]) bonus[i] = bonus[i-1] + 1; else bonus[i] = 1; } for (int i = N-1; i > 0; i--) { if (grades[i-1] > grades[i]) cobonus[i-1] = cobonus[i] + 1; else cobonus[i-1] = 1; } int sum = 0;
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
map[j-1].weight = weight; }else if(map[j].weight == map[j-1].weight &&map[j].high > map[j-1].high){ //如果体重相同,身高矮的在后面 int Num = map[j].Num; int high = map[j].high; int weight = map[j].weight; map[j].Num = map[j-1].Num; map[j].high = map[j-1].high; map[j].weight = map[j-1].weight; map[j-1].Num = Num; map[j-1].high = high; map[j-1].weight = weight; }else break; //队列已经有序了,跳 出循环 } } int max_high = getMaxHigh(map,n); System.out.println(max_high); } } private static int getMaxHigh(Dis[] map, int n) { // TODO Auto-generated method stub int max_high = 0; for(int i = 0;i < n;i++){ map[i].max_high = 1; for(int j = 0; j < i;j++){ if(map[i].high >= map[j].high && map[i].max_high < map[j].max_high+1){ map[i].max_high = map[j].max_high + 1; } } max_high = Math.max(max_high, map[i].max_high); } return max_high; } }
相关文档
最新文档