上海卫瓴信息科技有限公司面经

学习半年了,第一次发帖,记录一下~
1. 自我介绍
2. 长达20多分钟的项目问答。
2.1 Nginx 负载均衡/反向代理 在项目中是如何使用的 ?
2.2 什么是正向代理?举个例子。
2.3 负载均衡算法有哪些?答了轮询和随机,还有随机轮询法、源地址哈希法等
2.4 如何让Nginx的负载均衡都到同一台服务器? 我说只用一台服务器就行了,或者应该可以在Nginx中设置一下ip吧? 他摇了摇头。答案:使用按ip映射或者按访问资源url映射等负载均衡策略。
2.5 redis在项目中的使用场景?答:缓存、分布式锁、分布式session
2.6 为什么要用分布式session?
2.7 redis的数据类型和它们的使用场景?
2.8 RabbitMQ是怎样保证事务最终一致性的?这里没答上来。。。面试官怀疑了下项目是不是我自己做的。。。555
2.9 说一下登录这个功能都做了那些事? 答:前端将表单信息发送到后端,然后去数据库查找进行此用户信息进行校验
2.10 如何解决用户多次点击登录按钮? 答:加验证码
2.11 令牌(Token)了解吗? 答:不太了解
3. 基础问答
3.1 java中都有哪些数据结构?
3.2 如何实现一个LRU? 答:一开始说用concurrentHashMap,不对,然后又说用链表+hashmap可以,他说OK。其实就是LinkedHashMap,一开始想说的是这个。
3.3 hashmap初始值?什么情况下扩容?怎么扩容?为什么容量要是2的倍数?线程安全吗?为什么不安全?
3.4 关于sql索引,问题没听明白,我直接说了不太了解索引,就直接往下问了。
3.5 mysql的事务隔离级别有哪些?以及常见的事务并发问题说一下?
4. 小问题就记得这么多了,最后一题撸代码,问题如下:
给出一个数组,找到里面的任意一个峰值元素(值比前后都大)的下标,默认把array[-1]和array[n]当作负无穷。要求时间复杂度log(n)。
一开始没看到“把array[-1]和array[n]当作负无穷”这句,一度认为这题无解,被面试官点拨一下后才用二分法完成了。思路就是枚举中点,看这一点正处于上升还是下降的状态,若是上升则右边一定有解,反之左边,log次缩小区间即可得到答案。
最后边界依旧出了一些问题,我是把超出区间的值用-1e9来表示无穷小,他说我们是不知道数组中的最小值的,有可能还更小。。。让我再想想其他方法去处理。。。最后的最后还是没能把这里优化掉。有点想法,但感觉实现起来很麻烦。就结束了。

吐槽一下:公司比较年轻,但面试难度确实有点超乎我的意料,和我上一家面试的水平完全不是一个难度的。项目还要再熟悉一下,这次差点(已经)把自己埋了。。。

面试结果:第二天收到通知,挂了。不过作为我的第一次真正意义上的面试,还是收获了一些东西,继续加油吧。
#java求职#
全部评论
我今天面了java方向的二面 说实话还是有难度的 着重问了项目,最后手撕算法 而且每个人还都不一样 我朋友面前端说二面的技术总监基本不问什么 一直在介绍公司和技术之类的 然后我今天面就完全不一样 哭了😖😖😖
1 回复 分享
发布于 2022-03-11 19:27
为啥不面大厂
1 回复 分享
发布于 2022-03-10 10:41
我昨天面的测开一面,明天约了二面,能聊聊吗
1 回复 分享
发布于 2022-03-09 21:45
楼主投的是java后端吗?
点赞 回复 分享
发布于 2022-04-13 21:20
楼主哪里投的
点赞 回复 分享
发布于 2022-03-13 13:05
算法题能举个例子吗。。
点赞 回复 分享
发布于 2022-03-13 11:32
博主你投的是实习岗位吗?
点赞 回复 分享
发布于 2022-03-13 09:15

相关推荐

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

创作者周榜

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