cosine

余弦の博客

= WA 的一声就哭了 =

cos avatar

cos

FE / ACG / 手工 / 深色模式强迫症 / INFP / 兴趣广泛养两只猫的老宅女 / remote

文章列表

post cover
面经

2022-03-14

1512 字

文章讲述了作者在 MetaApp 公司进行前端技术面试的全过程,从一面到二面,内容涵盖 JavaScript 基础(原型链、异步、变量提升、虚拟 DOM)、CSS 样式、HTTP/HTTPS、TCP/UDP、常见算法(排序、顺子判断)以及项目经验(跨域、文件上传、服务端协作)等知识点,展现了扎实的前端基础和对全栈开发的兴趣,最终获得中台全栈 Web 实习机会。

post cover
JavaScript

2022-03-14

8352 字

文章系统讲解了 JavaScript 中对象的定义、属性类型(数据属性与访问器属性)、属性特性(如可枚举、可配置、可写)、对象创建方式(构造函数、原型模式、工厂模式)、原型链机制及继承关系,并深入剖析了 new 操作符的执行过程。重点介绍了 ES6 语法糖(属性简写、可计算属性、解构赋值)以及对象属性的定义与操作方法(如 Object.defineProperty、Object.assign),同时对比了构造函数与原型模式的优劣,提出了组合式继承等最佳实践,帮助理解 JavaScript 对象模型和面向对象编程的核心机制。

post cover
字节校园

2022-03-13

1459 字

文章介绍了三道编程题的解题思路与代码实现: - 33. 搜索旋转排序数组:通过两次二分查找旋转分界点,判断目标值在左半段还是右半段,时间复杂度为 O(log n); - 54. 螺旋矩阵:模拟顺时针遍历过程,按右→下→左→上的顺序处理边界,实现螺旋输出; - bytedance-006. 夏季特惠:转化为01背包问题,关键在于将每个游戏的优惠金额作为“收益”,在预算约束下最大化快乐值,注意处理优惠与实际花费的关系。

post cover
字节校园

2022-03-12

1060 字

文章总结了三道中等至困难的LeetCode题目:通过数学方法解决整数反转问题,利用快速排序或直接排序找出数组中第K个最大元素,以及使用暴力或优先队列合并K个已排序的链表。每道题均提供了思路与代码实现,强调了在有限环境下对算法效率和边界条件的处理。

post cover
笔试复盘

2022-03-12

2301 字

文章总结了作者在美团笔试中遇到的五道题目及其解题思路和结果:幸运数、乘积为正、做饭、炸弹、黑白树涂色。其中前三题为简单题,分别通过暴力、动态规划和状压DP解决,但“做饭”题因复杂性导致未能AC;“炸弹”题使用贪心策略但仅通过部分测试用例;“黑白树涂色”题通过建树和条件判断完成,全部AC。整体体现了一次笔试中不同难度题目的应对情况。

post cover
项目集锦

2022-03-11

757 字

这篇文章介绍了作者基于 React 封装的 Ant Design DatePicker 日期选择框组件,实现了日、月、年三个面板的交互逻辑,支持日期选择、面板切换、箭头导航及输入实时更新等功能。通过 ref 判断点击事件位置实现外部关闭功能,并提供了默认日期设置和日期变化回调等对外 API,整体结构清晰,虽有优化空间但体现了自定义组件开发的乐趣与学习过程。

post cover
字节校园

2022-03-11

944 字

文章总结了每日编程题的解题思路与核心知识点:通过哈希表解决“两数之和”,用双指针法处理“三数之和”并避免重复,利用单调栈求解“接雨水”问题,涵盖数组操作、双指针和单调栈等常用算法技巧,难度由简单到困难,适用于春招笔试面试准备。

post cover
字节校园

2022-03-10

1098 字

文章介绍了三道面试题的解题思路与代码实现:206. 反转链表通过遍历指针交换实现;199. 二叉树的右视图使用BFS按层遍历,记录每层最右侧节点;字节跳动题16. 最短移动距离通过模拟松鼠移动和房间分配,利用树的父子关系和贪心策略求解最短总移动距离。

post cover
字节校园

2022-03-09

964 字

文章总结了三道经典算法题:14. 最长公共前缀通过逐字符比对找出字符串数组的共同前缀;3. 无重复字符的最长子串使用滑动窗口和哈希表记录字符出现情况,求解最长不重复子串长度;124. 二叉树中的最大路径和通过递归遍历每个节点,计算左右子树最大路径和,并更新全局最大值,处理负值情况。三题分别涉及字符串、滑动窗口和二叉树,难度由简单到困难,逻辑清晰,代码简洁。

post cover
字节校园

2022-03-08

1438 字

文章总结了三天链表相关题目的学习与解题思路:通过递归合并两个有序链表、使用双向链表实现LRU缓存(支持O(1)时间复杂度的get和put操作),以及分段反转链表(每k个节点一组翻转,不足k个则保持原序)。重点强调了链表操作中的边界处理和指针管理,如反转时prev指针的正确设置。