首页 / 社畜职场交流圈
社畜职场交流圈
本圈子为已工作牛友吐槽交流使用~ 注意:(1)禁止内推,内推请至名企内推圈或公司专属内推圈(2)禁止无意义打卡刷屏,共建良好圈内环境!
圈主: 牛客999991342号 创建于2020-04-24
发动态
此刻你想和大家分享什么
动态 圈友
常用函数式编程库:Lodash 与 Ramda.js
点赞 评论 收藏
分享
03-17 12:07
已编辑
腾讯_CSIG_高级前端工程师
这里的经验主要针对计算机、信息类公司的面试,主要针对几个大厂:第一优先级:【整理你的简历】。这里就不分享经验了,网上到处都是经验。就一个简单的方法,在牛客上偷窥一个拿多个offer的大佬。有些大佬水群会把简历发出来,你就把他的简历copy下来,然后把内容替换成自己的,不要改格式。失败的简历多种多样,成功大佬的简历相差不大。这里主要是提醒下大家,网上很多骗钱的模版,这样那样花里胡哨的,实际上你的简历HR可能只用了2秒钟就筛完了。第二优先级:【背好面经】。一面大多都会问些面经,因为面试官有一项是考察面试者基础,简单问题没答上很容易触发必死裁决(学校越拉越要背好面经,因为你在面试阶段没有犯错的机会)。至于面经准备的丰富程度就看个人了,以前我面试的时候我室友说我在讲相声串口,很丝滑,但是并没有用,该j还是j。第三优先级:【准备好项目经历】。项目经历在面试眼中有个鄙视链:开源贡献/实习项目 > 横向项目(校企合作) > 个人 DIY项目。如果只有个人 DIY 的项目,没有更多可以写的,一定要把项目最后一公里走完,就是把项目部署到线上,用腾讯云免费的 EdgeOne Pages(https://edgeone.ai/zh/products/pages),或者更加复杂的使用 Cloudflare Worker。因为个人项目淘宝商城、仿网易云音乐等实在太多了,面试官早就不知道看了多少个,你自己弄一些动画效果或者优化项,如果可以部署体验,面试官可以很好的跟着你准备的东西走。如果你准备的项目他都没兴趣打开看一看的,随便问问,那么多半无了。第四优先级:【刷题】。刷题并不是不重要,而是这个不是几天可以快速解决的。一般来说有过ACM或者蓝桥杯经验的会好很多。我以前也是搞ACM的,有一点需要清楚面试做题上和大家刷题是不一样的。在别人盯着你,给你计时的情况下,还能冷静敲代码的人是很少的,一般需要有比赛经验。而且如果给你的题你没有准备到,多半没法现场思考解法的。特别是某些大厂还需要写完代码现场 Accepted 的,这真挺难的,建议大家早做准备。————这里补充一下八股面经和项目经历,一般有经验的面试官会结合起来一起问。这种情况下一定要去做项目部署、去引导话题,因为面试的大佬思维开始发散起来,在知识广度和深度上,校招生是很难跟得上,大家节奏一旦对不上多半要无。这里叫大家去部署项目就是让面试官玩起来,体验你的东西话题就聚焦了,如果强行不聚焦那么无了也就无了,说明对面要求就是特别高。这里叫用腾讯云的 EdgeOne Pages部署是因为国内访问很快,如果你部署个项目卡得要死,面试官肯定问你优化或者网络相关的,也容易j。这里的优先级排序不是说重要性,在我看来都很重要,竞争这么激烈,一个没做好就无了。这里的优先级是一关一关过,简历排第一是因为简历没做好直接后面的都没了,无论你准备得多好。#简历中的项目经历要怎么写##春招##求职#
点赞 评论 收藏
分享
回调函数执行原理剖析
点赞 评论 收藏
分享
JavaScript 与 ECMAScript 辨析
1. 定义JavaScript:JavaScript 是一种高级编程语言,主要用于网页开发,具有面向对象、功能性和事件驱动等多种编程范式。它最初由 Netscape 开发,作为网页的客户端脚本语言,现在被广泛用于服务器端开发(如 Node.js)以及移动应用开发等领域。ECMAScript:ECMAScript 是一种脚本语言的标准,JavaScript 是其最流行的实现之一。ECMAScript 由 ECMA 国际(ECMA International)组织维护和发布,其目标是确保各种实现之间的一致性。2. 版本JavaScript 实现:JavaScript 的实现可能会包含 ECMAScript 的核心功能,并添加一些扩展,比如浏览器特有的 API(例如 DOM、BOM)。ECMAScript 版本:ECMAScript 有多个版本(如 ES5、ES6/ES2015、ES7/ES2016 等),每个版本都引入了新的语言特性和功能: ES5(发布于 2009):引入了严格模式、JSON 支持、数组方法(如 forEach、map、filter 等)。ES6(发布于 2015):引入了许多新特性,如https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=db1eaed6e0d04448bd8728ebc73d917c3. 目标和用法JavaScript:作为一种编程语言,JavaScript 不仅遵循 ECMAScript 标准,还包括了浏览器的 API 和其它环境的特定功能,如 Node.js 提供的文件系统模块、网络请求等。ECMAScript:作为一种语言规范,https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=db1eaed6e0d04448bd8728ebc73d917c4. 实现和兼容性JavaScript 引擎:各种浏览器和 JavaScript 环境(如 V8、SpiderMonkey、JavaScriptCore)都是 ECMAScript 的实现,它们都遵循 ECMAScript 标准,以确保兼容性和一致性。特性支持:https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=db1eaed6e0d04448bd8728ebc73d917c
点赞 评论 收藏
分享
JavaScript 垃圾收集机制详解
JavaScript 的垃圾收集是指在 JavaScript 引擎中自动管理内存的一项机制,它负责识别和回收不再被使用的对象,从而避免内存泄漏。在开发中,理解垃圾收集的工作原理能够帮助开发者编写性能更高、内存效率更好的代码。垃圾收集的原理JavaScript 主要采用两种技术进行垃圾收集:**标记-清除(Mark-and-Sweep)**和 引用计数(Reference Counting)。✔✔标记-清除(Mark-and-Sweep):https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=54893728e7dc47468b75c702e19b3a62标记阶段:垃圾收集器首先会遍历根对象(例如全局对象、活动函数的变量、闭包等),并标记所有可达的对象。可达对象是指从根对象能够直接或间接访问到的对象。清除阶段:在标记阶段结束后,垃圾收集器会遍历所有对象,删除那些没有被标记的对象,回收它们所占用的内存。✔✔#牛客AI配图神器#引用计数(Reference Counting):https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=54893728e7dc47468b75c702e19b3a62在引用计数的机制中,每个对象都有一个引用计数,表示指向它的引用的数量。当引用计数变为零时,表明该对象不再被使用,垃圾收集器会回收它。这种方法的缺点是无法处理循环引用。例如,如果对象 A 引用对象 B,而对象 B 也引用了对象 A,则它们的引用计数都不会降到零,从而造成内存泄漏。垃圾收集的触发JavaScript 的垃圾收集是自动进行的,通常在以下情况下触发:内存不足:当应用程序试图分配更多内存而系统内存不足时。定时:引擎可能会周期性地检测和回收未使用的内存。
点赞 评论 收藏
分享
脚手架工作原理深度剖析
#牛客AI配图神器#脚手架(Scaffolding)是一种软件开发工具,旨在自动化和简化项目结构的创建和代码生成过程。它的工作原理不仅涉及生成代码,还包括配置和组织项目的各个部分。以下是对脚手架工作原理的详细剖析。https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=1bdcfaaa91c8464182b5a2d102d3fa0f一、脚手架的核心概念自动化代码生成: 脚手架工具能够根据预定义的模板和结构,自动生成所需的代码文件。这样,开发者可以避免重复的手动工作,专注于业务逻辑的实现。项目结构: 脚手架通常会创建一个标准化的项目结构,包含必要的目录和文件,例如 src、tests、public 等。这使得团队中的所有成员都能按照相同的约定开发和维护项目。配置支持: 脚手架工具常常允许用户自定义部分配置,以适应不同的开发需求和环境,比如选择使用不同的框架(如 React、Vue、Angular 等)或配置不同的构建工具(如 Webpack、Parcel 等)。二、脚手架的工作流程一般来说,脚手架的工作流程可以分为以下几个步骤:1. 用户输入用户通过命令行界面(CLI)与脚手架工具交互,输入某些参数,如项目名称、类型、依赖库、配置选项等。这些输入会影响生成的项目结构和文件内容。2. 解析输入脚手架工具对用户的输入进行解析和处理,生成相应的配置对象。此过程通常涉及一些验证,例如确保项目名称合法、版本兼容性等。3. 模板选择根据用户输入,脚手架选择适当的模板文件进行代码生成。通常这些模板是使用模板语言(如 Handlebars、EJS 等)编写的,可以动态替换用户指定的参数。4. 文件生成脚手架工具根据模板和用户输入的信息生成具体的文件。这一过程包括:目录创建:根据预定义的项目结构创建目录。文件创建:创建和填充文件内容,可能包括配置文件、源代码文件、样式文件等。依赖安装:在某些脚手架中,创建项目后可能会自动安装依赖库(通常通过 npm 或 yarn)。5. 生成完成反馈脚手架工具向用户提供反馈,说明项目创建的结果并提供后续的操作建议,比如如何启动开发服务器、如何构建项目等。
点赞 评论 收藏
分享
Serverless 应用场景与局限剖析
Serverless 架构由于其灵活性、可扩展性和按需付费的特点,适用于多种应用场景。然而,它也存在一些局限性。以下是 Serverless 应用的主要场景和局限性。Serverless 应用场景API 后端:https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=c067d085edbc48f7a235bd7759194879Serverless 非常适合构建 RESTful API 或 GraphQL API,开发者可以使用服务如 AWS Lambda 和 API Gateway,轻松处理用户请求。数据处理与 ETL(提取、转换、加载):可以用于数据流处理,比如处理存储在 S3 或云数据库中的数据,执行 ETL 任务,或与消息队列(如 AWS SQS 或 Kafka)集成进行实时数据处理。定时任务和批处理:Serverless 可以用作定时任务的触发器,适合定期执行的任务,例如每天的报告生成、清理过期数据等。事件驱动应用:适合生产环境中需要对特定事件做出快速响应的应用,例如文件上传、用户注册等。通过设置事件触发器,应用可以在这些事件发生时自动执行相应的功能。静态网站托管:对于静态网站,可以使用 Serverless 架构来托管后端逻辑,只需将前端文件存储在 CDN 上,同时使用 Serverless 技术处理动态内容。物联网(IoT):在物联网应用中,设备生成大量事件和数据,Serverless 可以处理这些实时数据,进行分析或存储。渐进式网站应用(PWA):对于需要在前端进行一些动态操作的渐进式网站,可以利用 Serverless 构建后端支持,进一步优化用户体验。
点赞 评论 收藏
分享
BaaS、FaaS 与 PaaS 服务解析
BaaS(Backend as a Service)、FaaS(Function as a Service)和 PaaS(Platform as a Service)是云计算中的三种不同服务模型,它们各自有不同的特点和适用场景。1. BaaS(Backend as a Service)定义: BaaS 是一种云服务模型,提供了一个完整的后端基础设施,包括数据库、用户认证、推送通知、文件存储等。开发者无需自己搭建和管理后端服务器,只需专注于前端开发。特点:https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=c067d085edbc48f7a235bd7759194879快速开发:开发者可以快速构建应用,无需担心后端基础设施。自动扩展:BaaS 服务通常会自动扩展以应对流量变化。多平台支持:支持多种平台和设备,如 iOS、Android、Web 等。丰富的功能:提供用户认证、数据存储、推送通知、社交媒体集成等功能。适用场景:https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=c067d085edbc48f7a235bd7759194879移动应用开发:适用于需要快速开发和迭代的移动应用。原型开发:适用于快速构建原型和 MVP(最小可行产品)。小型团队:适用于小型团队或个人开发者,无需后端开发经验。常见服务:https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=c067d085edbc48f7a235bd7759194879Firebase(Google)Parse(Facebook,现已被关闭,但有开源替代品)Back4AppAWS Amplify2. FaaS(Function as a Service)https://www.nowcoder.com/issue/tutorial?zhuanlanId=j572L2&uuid=c067d085edbc48f7a235bd7759194879
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客企业服务