面经-米可世界

5 阅读4分钟

一面(过)

1、自我介绍

项目问题:

1、  CI/CD流水线,前端部署,和k8s相关流程是怎么样的?

2、  echarts如何处理大数据量?

(1)采样

(2)服务端做成图片

3、  AI平台如果你作为用户,你会怎么使用?

4、  无埋点方案是怎么实现的?

5、  Sentry系统,如何做实时跟踪的?

6、  jquery + vue2 怎么升级到 react的?

 

技术问题:

1、  如何获取function中参数的最后一个参数的类型?

2、  如何获取function的返回值类型?ReturnType怎么编写?

3、  interface和type有什么区别?

a)  定义:interface定义对象/函数,type定义任何类型

b)  扩展:interface可以使用extends,type可以使用&

c)  合并特性:interface可以多次定义会自动合并;type会报错

d)  支持的类型:interface不支持联合类型、元组、基本类型;type都支持

4、  useMemo和useCallback的区别?什么时候使用,什么使用不用?

a)  useMemo:缓存计算结果;只有大数据量才使用(如filter、排序);少量计算不能用,反而增加开销,因为useMemo需要对比、需要缓存,会导致性能更差。

b)  useCallback:缓存计算结果。

5、react 18版本和19版本有什么区别?

 

问面试官: 1、公司/团队的业务:泛娱乐的公司,团队做中台/活动的前端团队。

2、  工作地点:深圳。

 

---》几道技术题几乎没有答上来,竟然让我过,很意外!!!

二面(挂): 1、  自我介绍。

2、  前后端都做过是么?后端主要负责什么?

3、  RAG流程是什么样的?

a)  为什么要做embedding?

b)  如何保证语义搜索的准确度?(混合检索)

c)  embedding之后为什么就能表示语义了呢?!(被问住了!!!)

d)  这里你怎么没有介绍OCR?

e)  RAGFlow的deepdoc模型,为什么比OCR更好?!-(答:可能是因为深度学习模型的原因?!!)

4、  全埋点方案 是什么?

a)  没听得很明白,重新组织语言说一次?

b)  如果是弹窗怎么办?怎么定位到弹窗中的元素呢?-(使用antd的modal特有class确定)

c)  这种方案是不是有点trick?

5、  虚拟列表怎么实现?为社么会一次性请求那么多头像呢?

a)  另外就是如何计算我需要滚动到什么位置?比如现在是100个头像位置,我怎么知道滚动之后要定位200个头像的位置?- (答:根据scrollTop属性!)

b)  你没明白我的意思:我的意思是你怎么知道一共高度有多高?-(答:有total字段,根据固定的头像高度可以计算!)

c)  如果是不固定高度的列表怎么办呢?(被问住了!!!)

6、  了解Dify的workflow吗?-(答:了解)

a)  说说如果让你来设计,要怎么做?

b)  如果是一个可以循环的图怎么办?怎么防止它死循环?-(答:可以设置超过多少次循环之后退出)

c)  你的回答,感觉不是很好!有更好的方式吗?-(答:这个是我能想到的方式,workflow的设计就是需要允许循环的。LLM第一次的输出,不一定就符合预期,在这种情况下,就需要循环执行workflow,直到拿到符合预期的结果为止!如果使用图原理中,防止它循环的方式,其实不符合实际业务的需求。)

7、  langgraph了解吗?-答:了解,也使用过。

a)  你使用的是python版本还是TS版本? - (答:TS)

b)  为什么?你做前端,为什么要使用python来做?

c)  为什么langchain/langgraph会提供ts和python两个版本?- (答:都是解析性语言;属于应用层框架,增加框架的受众!)

d)  看起来你对AI很感兴趣?- (答:是的,因为也是未来的趋势,现在的工作也和这个相关,也需要了解LLM相关的知识,作为和业务可以毫不相关的前端,从langchain框架入手,可以让我更了解LLM,更清楚知道自己做的前端模块到底是做什么用?!)

e)  但是你面试的岗位是前端岗,和AI无关!你不介意吗?- (答:也是想往前端架构方面走,也是可以接受的。实际内心:我没啥面试机会,有机会的我都面面看!)