蚂蚁前端暑期实习一面(电话)

蚂蚁面试官问问题的角度好刁钻,而且语速很快很快,一不注意就会被他带跑了。不过仔细复盘之后觉得他问的问题都挺有价值的,在这里记录一下。

虚拟DOM到底是如何提升性能的?(问的很详细,最好能列举出真实DOM,虚拟DOM的操作行为例子)

  1. 减少重绘回流次数

比如向一个<ui>列表添加5个<li>,如果直接操作真实DOM,那么浏览器需要经历5次回流;

但使用虚拟DOM在更新完后再异步批量更新真实DOM,一次性插入5个,浏览器只需要经历一次回流。

2.diff算法可以尝试对DOM进行复用,可以减少一些可能的DOM操作

虚拟DOM未必一定能提升性能,需要分情况讨论:

  • 小量数据更新: 当页面的渲染数据高达几万条,但只需要修改某一条数据时,Virtual DOM的Diff比对算法,能够避免不必要的DOM操作,节省开销
  • 大量数据更新: 当页面的渲染数据高达几万条, 但是更新的数据却非常大,甚至全量更新,Virtual DOM无法进行优化, 加剧了性能的浪费
  • 给一个二维平面点坐标的集合,如(2,3)(4,5),将这些点依次按顺序连线,判断最后连成的图形是否是一个三角形

    我的思路:

    1. 判断第一个点和最后一个点是否相同,若不同则直接返回false(首尾不相连)。
    2. 维护一组直线方程参数ABC,分别对应Ax+By+C=0。遍历点集,根据当前点和下一个点计算一组ABC并和之前的ABC比较是否全等,若全等则代表当前点和前后两个点共线,否则代表当前点是一个拐点,同时将ABC更新为新计算出的ABC。
    3. 遍历完成后检查是否一共恰好有3组不同的ABC(分别代表三角形的三条边的直线方程参数),若是则返回true,否则返回false

    面试官说思路可以,但实操起来不太可行,但我自己琢磨也不是很难实现啊...

    关于上面的问题,欢迎各位在评论区多多指教~

    全部评论
    楼主什么部门,是网商银行嘛
    2 回复 分享
    发布于 2023-03-19 10:01 四川
    楼主,一面面完有约补手写题环节嘛?
    1 回复 分享
    发布于 2023-03-20 12:47 四川
    只要不共线三个点就一定是三角形,那比较21,31的斜率就可以了。如果相等返回false
    1 回复 分享
    发布于 2023-03-20 10:55 美国
    俺今天也面了蚂蚁差不多面了一个小时,两道算法题,感觉要凉了
    点赞 回复 分享
    发布于 2023-03-28 16:43 北京
    楼主面试前有要做行测么
    点赞 回复 分享
    发布于 2023-03-27 11:16 上海
    蹲个后续
    点赞 回复 分享
    发布于 2023-03-26 20:32 北京
    同学你后来约2面了吗
    点赞 回复 分享
    发布于 2023-03-22 16:07 北京
    楼主面了多久
    点赞 回复 分享
    发布于 2023-03-21 21:51 湖南
    楼主二面没有
    点赞 回复 分享
    发布于 2023-03-21 12:08 四川
    暑期实习这么快都开始了吗
    点赞 回复 分享
    发布于 2023-03-20 16:24 黑龙江
    同学是组内提前面,还是系统上已经过了简历筛选然后开始面试了?
    点赞 回复 分享
    发布于 2023-03-19 13:39 广东
    可以判断拐了两次弯,只要每次的斜率和上次不一样就加一
    点赞 回复 分享
    发布于 2023-03-19 08:29 山东

    相关推荐

    不愿透露姓名的神秘牛友
    07-11 12:31
    以前小时候我最痛恨出轨、偷情的人,无论男女,为什么会出轨?现在我成了自己最讨厌的人,没想到分享的东西在牛客会被这么多人看,大家的评价都很中肯,我也认同,想过一一回复,但我还是收声了,我想我应该说说这件事,这件事一直压在我心里,是个很大的心结,上面说了人为什么出轨,我大概能明白了。我们大一下半年开始恋爱,开始恋爱,我给出了我铭记3年的承诺,我对她好一辈子,我永远不会背叛,我责任心太重,我觉得跟了我,我就要照顾她一辈子,我们在一起3年我都没有碰过她,她说往东我就往东,她说什么我做什么,她要我干什么,我就干什么!在学校很美好,中途也出过一些小插曲,比如男闺蜜、男闺蜜2号等等等。但我都强迫她改掉了,我...
    牛客刘北:两个缺爱的人是没有办法好好在一起的,但世界上哪有什么是非对错?你后悔你们在一起了,但是刚刚在一起的美好也是真的呀,因为其他人的出现,你开始想要了最开始的自己,你的确对不起自己,21岁的你望高物远,你完全可以不谈恋爱,去过你想要的生活,你向往自由,在一起之后,你要想的不是一个人,而是两个人,你不是变心了,就像你说的,你受够了,你不想包容了,冷静几天是你最优的选择,爱人先爱己。
    社会教会你的第一课
    点赞 评论 收藏
    分享
    我看看你怎么个事来
    牛牛爱吃草草:我看看你怎么个事来
    点赞 评论 收藏
    分享
    评论
    18
    63
    分享

    创作者周榜

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