阿里-阿里妈妈-实习 · 第 1 轮 · 一面
← 已是第一轮 · 返回本次面经 · 第 1 轮 → 本轮要点: 本次面试主要考察校招生的基础内容 本轮共 13 道题。答案默认折叠,便于先自行作答。 1. 实现第一个元素不移动后续元素与左边相隔8px(:not(:first-child) 题目要点 CSS选择器与布局。 参考答案 要实现第一个元素不移动,后续元素与左边相隔8px,可以使用CSS中的:not(:first-child)选择器来选择除第一个元素外的所有同级元素,并为其设置左边距。这在布局中非常有用,可以避免对第一个元素应用不必要的样式。以下是一个示例: <div class="container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> <div class="item">Item 4</div> </div> .container { display: flex; } .item:not(:first-child) { margin-left: 8px; } 在这个示例中,.item:not(:first-child)选择器匹配了所有带有item类的元素,除了第一个元素。然后,我们通过margin-left: 8px为这些元素设置了左边距,使它们与左边的元素相隔8px。第一个元素不会受到影响,因此不会产生左边距,从而实现了题目要求的布局效果。这种技术在创建水平排列的元素时非常有用,例如导航栏或标签页,可以确保第一个元素与容器的边缘对齐,而后续元素之间保持一致的间距。 2. 写一个防抖 题库原题:实现 debounce(防抖)函数 题目要点 触发高频时间后n秒内函数只会执行一次,如果n秒内高频时间再次触发,则重新计算时间。 参考答案 触发高频时间后n秒内函数只会执行一次,如果n秒内高频时间再次触发,则重新计算时间。 const debounce = (fn, time) => { let timeout = null; return function() { clearTimeout(timeout) timeout = setTimeout(() => { fn.apply(this, arguments); }, time); } }; 防抖常应用于用户进行搜索输入节约请求资源,window触发resize事件时进行防抖只触发一次。 3. 讲讲你的项目难点 题目要点 项目经验与问题解决能力。 ...