我半年来,面试找工作,被问了2次这个问题,关于虚拟列表的。
基本原理我能答,只渲染可是区域的dom,然后根据滚动高度去实时计算可视区域的起始索引和结束索引。
最基本的虚拟列表,就是每行内容高度固定,类似于单行表格什么的。
但面试官会继续连环问,如果每行高度不固定呢?是动态的呢,怎么处理?
一下子难度就上来了,我在金山在线办公的二面里,因为回答得不够完美,还被面试官喷我对技术细节不到位(就是有点鄙视的态度,认为我在背八股文,没实际处理过这种问题)。
确实,虚拟列表本来就不是最佳选择方案,最理想是分页。虚拟列表应用的场景也不是特别多,加上动态高度内容,有点造火箭的感觉。