阿里云原厂 一面 58min 还有一个码面

  1. Spring cloud 具体有哪些东西,怎么通信的?NacosOpenfeign网关 spring cloud gateway限流降级分布式锁
  2. openfeign基于什么协议?怎么判断是TCP?url,肯定是http。
  3. 负载均衡怎么做的?
  4. 替换负载均衡器,怎么做?用自己定义的负载均衡,怎么做?

5. 调用远程服务的时候,怎么找到远程服务啊?网关根据url的正则表达式匹配寻找到服务,然后由nacos根据服务去找到url

6. 有没有了解过dubbo?dubbo是一个RPC框架,没有那么重,可以使用dubbo进行通信,注册中心是zookeeper。Spring Cloud 的功能很明显比 Dubbo 更加强大,涵盖面更广,是微服务的一站式解决方案,通信是openfeign,注册中心可以是nacos,

7. MQ解耦具体指什么呢?为什么使用MQ,使用http调用会有什么问题?

8.分布式锁用什么实现的?

  1. 如果不用redission,redis怎么实现的?setnx,hash的属性,(可重入实现)
  2. setnx可以设为先查,再set,吗?为什么?
  3. Xxl-job 是做什么的?
  4. 失败上链的补偿操作。
  5. 为什么不用spring的schedule?
  6. 分布式组件,可能存在多线程冲突问题。
  7. 分布式锁和xxl-job有配合吗?
  8. spring的schedule+分布式锁也可以解决,为什么不用?
  9. ws是哪一层协议,?应用层。
  10. 第三方登录,登录完成之后,下一次请求怎么知道原来这个用户在使用。token
  11. 有做跨站攻击的保护?
  12. XSS攻击就是 添加一些代码嵌入到页面中。用户访问的时候就会执行这个代码。解决1. 前端,可以将重要的cookie标记为httponly,这样cookie就不会被访问到了。2. 后端,可以对用户输入的数据做一个过滤,或者对输入进行一个转义,确认数据内容是否为只包含数字、字母和空格符
  13. CSRF攻击。攻击者获取到用户的cookie然后去访问正常的网站,比如说请求转账。解决;1. 验证http 的referer字段,该字段记录http请求的来源地址。2. 为每个表单添加令牌token并验证。
  14. SQL注入1. 对用户的输入做一个校验,使用正则表达式过滤传入的参数。2. 使用参数化语句,不要拼接sql3. 重要信息加密。
  15. minIO自己搭的吗?只是使用了?
  16. 数据中台有多少数据?一天有几万条数据。最终的数据会汇集到mysql数据吗?
  17. 是否支持批量?
  18. 单表的效率很低,同步数据要同步多久?
  19. 有自动映射吗?批量、自动化(同名映射,不同名自己去选)、(数据策略)定期、增量、
  20. 周期增量同步怎么做的?实现了scheduleconfigure接口。最大的ID。
  21. 怎么判断当前表是否有同步过?
  22. 对于一样的源表,是不能在这里出现多次的。如果说想要重新同步,就需要修改,具体是修改什么?
  23. 大数据的同步不止有数据,还有同步的过程,自定义函数、班栈。大数据相关的体系。
  24. docker的原理了解吗? 其他服务怎么去访问到docker里面的服务?端口映射怎么实现的?怎么映射过去,不同网络类型,有几种实现方式,网桥的实现方式。
  25. mysql数据库存了多少数据。每天几万条。
  26. 数据量很大,还要存储数据库表的信息,怎么考虑。怎么去做性能优化?
  27. 不停增长的数据量怎么控制?怎么优化?
  28. 优化可以做一个冷热数据分离。数据迁移到不同的库。
  29. 表和字段的信息呢?数据量?
  30. 数据字段的表怎么办?不停增加新的数据源。
  31. 怎么做索引?
  32. 经常where order group
  33. 字符串前缀索引
  34. 覆盖索引
  35. 联合索引。
  36. 如果有索引没有达到预期,怎么分析这个索引?
  37. Explain分析。
  38. 你能分析一下Explain里面的关键字段?
  39. 使用了索引一定会快吗?
  40. 执行计划可以再去理解一下,还有其他场景。命中索引不一定快,全索引扫描也不一定快。命中索引的级别,级别高才会快,还有额外的信息。下推,回表。
  41. map,hashmap hashtable concurrenthashmap的区别
  42. 字符串拼接,+ ,stringbuilder ,stringbuffer 有什么区别?
  43. 深拷贝和浅拷贝。A=list<Object>,B=A ,C=A的浅拷贝、D的深拷贝。B C D怎么变?B和C有什么区别?
  44. 如果说我要并发写mysql,怎么解决这个数据错乱问题?使用行锁,加锁。
  45. 反问
#软件开发2024笔面经#
全部评论
佬,问的项目是之前实习做的吗,还是自己做的,感觉问的好深
1 回复 分享
发布于 2024-03-18 22:20 北京
m
1 回复 分享
发布于 2024-03-12 19:26 美国
m
点赞 回复 分享
发布于 2024-03-12 16:01 贵州
m
点赞 回复 分享
发布于 2024-03-12 15:03 湖南
m
点赞 回复 分享
发布于 2024-03-12 11:39 河北

相关推荐

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道真题和解析
点赞 评论 收藏
分享
评论
5
45
分享

创作者周榜

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