2023网易雷火Web后端开发实习笔试
题型:10道单选(10*3),5道多选(5*4'),2道简答(2*5'),2道编程题(2*20')。
单选题
印象比较深的有逻辑推理题、Linux命令、OSI/TCP网络模型中的协议、MySQL锁、图的最短路径、二叉树的性质
扑克牌花色大小和谜语人
Linux系统中查看磁盘信息的命令是什么?df
以下哪些协议不是OSI模型中的最高层协议?ICMP
MySQL中InnoDB中哪两个锁是可以兼容的?
一个完全二叉树中有124个叶子节点,则这个树有多少个节点?247
在图中A到G的最短路径是多少?12
多选题
二叉树的中序和先序遍历、
出栈进栈、
Docker的使用
简答题
分布式系统中的负载均衡
概念、算法、优缺点、应用场景
分布式数据库的分片
概念、算法、优缺点
编程题
一道排序题、一道DFS
小明有n个宝石和k个包裹,每个宝石的价格为price[i],每个包裹的价值是price[i]+price[j],要求从i到j中的所有宝石都在该包裹内,求k个包裹所放宝石的最大价格和最小价格之差。
int putGems(vector<int>& price, int k) { int n = price.size(); vector<int> pairPrices(n-1, 0); int res = 0; for (int i = 0; i < n-1; ++i) { pairPrices[i] = price[i] + price[i+1]; } std::sort(pairPrices.begin(), pairPrices.end()); for (int i = 0; i < k-1; ++i) { res += pairPrices[n - 2 - i] - pairPrices[i]; } return res; }
给一个地图map,小明的位置(a_x, a_y),小红的位置(b_x, b_y),求小明和小红的双向奔赴的最短时间。
int dis; int getEstTime(vector<vector<int>>& map, int a_x, int a_y, int b_x, int b_y) { dis = INT32_MAX; vector<vector<bool>> visited(map.size(), vector<bool>(map[0].size(), false)); dfs(map, a_x, a_y, b_x, b_y, 0, visited); if (dis == INT32_MAX){ return -1; } return dis/2; } void dfs(vector<vector<int> >& map, int a_x, int a_y, int b_x, int b_y, int path, vector<vector<bool>>& visited){ if (a_x == b_x && a_y == b_y){ dis = min(dis, path); return ; } if (a_x < 0||a_x >=map.size()||a_y<0 || a_y >= map[0].size() || visited[a_x][a_y]){ return ; } if (map[a_x][a_y] == 0){ visited[a_x][a_y] = true; return ; } vector<pair<int,int>> dirs = {{0,1}, {1,0} ,{0,-1}, {-1,0}}; visited[a_x][a_y] = true; for (int i = 0; i < 4; ++i) { dfs(map, a_x+dirs[i].first, a_y+dirs[i].second, b_x, b_y, path+1, visited); } }#网易雷火##实习 Java#
Java实习日志 文章被收录于专栏
复盘找实习的磕磕碰碰。找不找得到暂且不论,为的就是这块技术!