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实习日志 文章被收录于专栏

复盘找实习的磕磕碰碰。找不找得到暂且不论,为的就是这块技术!

全部评论
第一题是咋想出来的呀,我以为要dp就没做
1 回复 分享
发布于 2023-04-22 18:52 上海
简答题不太会
1 回复 分享
发布于 2023-04-22 16:03 北京
收到面试通知了吗?老哥
点赞 回复 分享
发布于 2023-04-29 00:16 江苏
MySQL中InnoDB中哪两个锁是可以兼容的?这题咋选
点赞 回复 分享
发布于 2023-04-22 20:08 四川
编程题第一题是啥意思
点赞 回复 分享
发布于 2023-04-22 16:20 广东
你们都ak了吗,我编程题只对了一道
点赞 回复 分享
发布于 2023-04-22 16:16 广东
真的巨简单
点赞 回复 分享
发布于 2023-04-22 16:14 湖南
扑克牌推断那个没看懂,老哥有思路吗
点赞 回复 分享
发布于 2023-04-22 15:56 湖南

相关推荐

1.&nbsp;自我介绍2.&nbsp;项目都是自己写的吗?3.&nbsp;我看你用&nbsp;koa2&nbsp;写后端,为什么选择它,能讲讲吗?4.&nbsp;那你提到&nbsp;koa2&nbsp;它是不提供中间件的,你是怎么解决的?5.&nbsp;中间件的原理是什么?(洋葱模型)6.&nbsp;你刚刚说碰到&nbsp;next()&nbsp;就进入下一个中间件,那&nbsp;next&nbsp;只能执行同步,如果是异步的话,你是怎么处理的?(async/await,但是我发现,有的中间件需要在异步中间件之前执行,所以我用&nbsp;try/catch&nbsp;来处理异步中间件的异常)7.&nbsp;JS&nbsp;异步发展史,以及它们的优缺点说一下&nbsp;(回调函数--Promise--Generator--async/await)8.&nbsp;你刚刚说&nbsp;Promise&nbsp;状态不能更改,那如果我要设计一个能修改&nbsp;Promise&nbsp;状态的函数,你会怎么设计?9.&nbsp;CSS&nbsp;水平垂直居中的方法(flex、grid、绝对定位&nbsp;+&nbsp;margin:auto、绝对定位&nbsp;+&nbsp;负&nbsp;margin、绝对定位&nbsp;+&nbsp;transform、table-cell)10.&nbsp;你刚刚说到&nbsp;flex&nbsp;布局,那&nbsp;flex:1&nbsp;是什么意思?(flex:&nbsp;flex-grow&nbsp;&nbsp;flex-shrink&nbsp;&nbsp;flex-basis;等价&nbsp;flex:1&nbsp;1&nbsp;0%表示元素可以均分剩余空间,可拉伸、可压缩,不依赖内容宽度,自动自适应填充布局。)11.&nbsp;父容器宽是&nbsp;500px,然后它左右各有两个子容器是&nbsp;100px,如果设置&nbsp;flex:&nbsp;1,那它的宽度是多少?(500-100-100=300px)12.&nbsp;说说你对浏览器缓存的理解(强缓存、协商缓存)13.&nbsp;如果一个用户,他怎么去刷新都无法刷到最新版的代码,你能说下可能的原因吗?(版本号、hash等)还有吗?(我说我不知道了,面试官说还有&nbsp;CDN&nbsp;没有同步,我说企业才会这么干,自己写项目一般不会,我知道&nbsp;cdn&nbsp;是用来解决高并发的手段)14.&nbsp;React你熟吗?说下&nbsp;React&nbsp;函数组件和类组件的区别15.&nbsp;怎么避免&nbsp;Hooks&nbsp;导致组件重新渲染?(使用&nbsp;useCallback、useMemo、React.memo、useRef等等)16.&nbsp;谈一下我对&nbsp;React&nbsp;的状态管理的理解(Redux、Mobx、Zustand,我说&nbsp;Zustand&nbsp;用的最多)17.&nbsp;React&nbsp;常见的&nbsp;hooks&nbsp;有哪些?(useState、useEffect、useRef、useCallback、useMemo、useReducer、useContext、useImperativeHandle、useLayoutEffect、useDebugValue)18.&nbsp;TS&nbsp;你熟吗?我们引进&nbsp;TS&nbsp;的目的是为什么?19.&nbsp;interface&nbsp;和&nbsp;type&nbsp;的区别20.&nbsp;说下&nbsp;TS&nbsp;里的泛型21.&nbsp;我现在有十个字段,比如十个字段就要&nbsp;A&nbsp;B&nbsp;C&nbsp;D&nbsp;E&nbsp;F&nbsp;G&nbsp;这种。那我现在另有另外一个方法,这个方法接受的参数呢,必须是这个&nbsp;interface&nbsp;A&nbsp;里面的这个&nbsp;K。就比如说你可以是&nbsp;A&nbsp;B&nbsp;C&nbsp;可以&nbsp;A&nbsp;B&nbsp;C&nbsp;D&nbsp;任何组合都可以,但是必须是这个&nbsp;interface&nbsp;里面的&nbsp;A&nbsp;里面的定义的。这个&nbsp;K&nbsp;这种类型的话是怎么去定义呢?(说实话我有点不太理解啥意思,反正我说了&nbsp;keyof)```&nbsp;TypeScriptinterface&nbsp;Obj&nbsp;{A:&nbsp;stringB:&nbsp;stringC:&nbsp;stringD:&nbsp;stringE:&nbsp;string//&nbsp;其他字段...}```22.&nbsp;vite&nbsp;用过吗?说说和&nbsp;webpack&nbsp;的区别。vite&nbsp;的优缺点是什么23.&nbsp;说说&nbsp;Tree&nbsp;shaking(树摇)&nbsp;和&nbsp;Code&nbsp;Splitting&nbsp;(代码分割)的区别24.&nbsp;Git&nbsp;你熟吗?说说&nbsp;git&nbsp;merge&nbsp;和&nbsp;git&nbsp;rebase&nbsp;的区别,什么时候用&nbsp;git&nbsp;merge,什么时候用&nbsp;git&nbsp;rebase?25.&nbsp;web3&nbsp;你熟吗?(不太熟,听说过而已)26.&nbsp;我看你自我介绍说了&nbsp;AI,你是怎么用的?27.&nbsp;除了提示词,还有什么能让&nbsp;AI&nbsp;更聪明?28.&nbsp;AI&nbsp;的优缺点你说一下29.&nbsp;AI&nbsp;发展这么快,你觉得我们以后会扮演什么角色?30.&nbsp;反问基本都答上来了。面了我80分钟,我还以为稳过的
查看29道真题和解析
点赞 评论 收藏
分享
评论
4
31
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务