虚拟列表是面试中的高频问题
来源:7-4 后端一次性返回10w条数据,你该如何渲染
Charles_So_网页开发
2022-04-14
我半年来,面试找工作,被问了2次这个问题,关于虚拟列表的。
基本原理我能答,只渲染可是区域的dom,然后根据滚动高度去实时计算可视区域的起始索引和结束索引。
最基本的虚拟列表,就是每行内容高度固定,类似于单行表格什么的。
但面试官会继续连环问,如果每行高度不固定呢?是动态的呢,怎么处理?
一下子难度就上来了,我在金山在线办公的二面里,因为回答得不够完美,还被面试官喷我对技术细节不到位(就是有点鄙视的态度,认为我在背八股文,没实际处理过这种问题)。
确实,虚拟列表本来就不是最佳选择方案,最理想是分页。虚拟列表应用的场景也不是特别多,加上动态高度内容,有点造火箭的感觉。
写回答
2回答
-
双越
2022-04-14
你说的我能理解。
不过,虚拟列表的详细实现,真的不好在我们课程里讲解。
如果仅仅是做一个简单的 demo ,半小时讲完,那也没法满足你说的要求(如果每行高度不固定呢?是动态的呢,怎么处理?)
如果要想吧所有细节都考虑到,那就不是做一个 demo 了,而是做一个复杂的实战项目。
对于这个面试题,我的建议是:1. 说明虚拟列表的原理和背景;2. 如果问道细节,你就承认自己没做过实战项目,只能临时思考,不会考虑全所有细节 —— 这其实很正常,这么复杂的东西,哪儿是十几分钟就能设计全面的。
如果面试官就是要求你必须详细了解虚拟列表,那是他们的问题。就这种要求,他们也不容易招到合适的人才。
242022-08-17 -
Charles_So_网页开发
提问者
2022-04-14
我感觉虚拟列表,应用得最好的地方,应该就是聊天消息界面。好像其它地方,分页更合适。
10
相似问题