首页 > 网易互娱游戏研发工程师一二面面经
头像
时光的尽头会是什么
发布于 2022-03-10 11:45
+ 关注

网易互娱游戏研发工程师一二面面经

一面 90min
1.30min编程题
给定数组输出第k小子序列和
2.自我介绍
3.讲一下编程题思路
#include<bits/stdc++.h>
using namespace std;
int check(vector<int> & nums,int x){
	int l=0,num=0,ls=0;
	for(int i=0;i<nums.size();i++){
		ls=ls+nums[i];
		while(ls>x){
			ls-=nums[l];
			l++;
		}
		num+=i-l+1;
	}
	return num;
}
int fun(vector<int> nums,int k){
	int l=1,r=1e9,mid,ans;
	while(l<=r){
		mid=l+r>>1;
		if(check(nums,mid)>=k){
			ans=mid;
			r=mid-1;
		}else{
			l=mid+1;
		}
	}
	return ans;
}
signed main()
{
	vector<int> nums;
    int n,k,x;
    cin >> n >> k;
    for(int i = 1; i <= n; i++)
    {
        cin >> x;
        nums.push_back(x);
    }
    cout << fun(nums,k);
}

答:二分答案,时间n*logm
4.这个还不够快,可以再优化一下吗
答:不知道

C++
5.重载和覆盖的区别
6.面向对象的特性
7.static和const修饰类成员函数
8.static和const可以同时修饰类成员函数吗?
答:可以(这个错了,后来查了一下不可以)

算法和数据结构
9堆排讲一下原理
10.实现了解吗?
11.其他排序算法
12.哈希冲突
13.A*算法了解吗?讲一下
14.网络流会吗
答:不会

计网
15.4次挥手
16.time_wait状态为什么要等待2msl
17.如果服务器断开连接会怎么样
18.在2msl之后一定会结束吗?
19.DNS协议讲一下
20.select和epoll的区别
21.底层实现了解吗

操作系统
22.CPU调度算法
23.虚拟内存讲一下
24.物理地址到逻辑地址之间是怎么转换的
这个答错了,我回答的是多个逻辑地址可以映射同一个一个物理地址,然后通过页表去查询。后面才反应过来是想问TLB和MMU那些。
25.分页和分段的区别
26.进程间通信
27.命名管道和匿名管道的区别
不了解匿名管道QAQ
28.台阶问题求所有路径,要求必须用dp的方式解,不能用搜索
这个到现在也没想明白dp怎么输出所有路径,求大佬解答

反问:
1.有哪些地方做的不足
只是简单的把书过了一遍,没有去深究底层原理
2.游戏研发主要是做什么的
什么都做
3.反馈时间
5-7个工作日


二面 50min
1.自我介绍
2.服务器是怎么实现的
3.你epoll是直接调用吗?套接字状态是阻塞的?
4.你这个套接字是阻塞的吗?
答:应该先用fcntl修改套接字属性
5.哈希表的实现原理
6.能实现一个吗
7.100M数据,10M内存,key和value分别是id和string,id只有1.5M,怎么读取,怎么存
8给定三个函数和一个接口,.手写一个定时器
int AddTimer(int delay,std::function<void()> &cb)//添加一个定时器,结束时调用cb
{
}

void Remove(int id)//给定定时器ID移除指定定时器
{
}

Update(int ts)//外面有一个while循环一直调用,去检查定时器状态
{
}
没搞明白需求,问了两次面试官有点不耐烦了,然后就结束了
没有给反问机会
可能面试官面了一天了,加上自己太菜了,没什么工程经验


更多模拟面试

全部评论

(13) 回帖
加载中...
话题 回帖