三年经验前端社招——慧择网

大家好,我是若川。最近组织了源码共读活动《1个月,200+人,一起读了4周源码》,已经有超50+人提交了笔记,群里已经有超1200人,感兴趣的可以点此链接扫码加我微信 ruochuan12

本文经作者@lxcan 授权转载,未经授权请勿直接转载。
原文标题:《三年经验前端社招——慧择网》
原文链接:https://zhuanlan.zhihu.com/p/405690519
文末点击阅读原文直达

一面

1、自我介绍

2、以往公司介绍,项目介绍【描述】

3、算法题,有n阶楼梯,一次可以走1步或2步,问有多少种走法。比如有3阶,可以 111 12 21 总共3种走法【编程】
考点:斐波那契数列解法
分析:
(1)n=0和n=1 的时候,没有其他选择,F(0)=0;F(1)=1
(2)n>=2 的时候就变复杂起来,这时候可以操作的步骤也就2种,也就是走1步 (n-1) 与走2步 (n-2)
所以可以得到 F(n) = F(n-1) + F(n-2) ,从当前状态转为下一状态的通用算法即可。
(3)验证,使用2以上的数字验证几次
实现方式:
(1)递归
(2)循环迭代
(3)动态规划(递归+缓存)

4、JS数据类型有哪些?它们在内存里面的模型是怎样的,堆和栈有什么区别?【描述】
原始数据类型,存放在 栈内存中
number string boolean null undefined symbol
引用数据类型,存放在 堆内存中
object (细分为 object array function)

栈内存

  • 存储原始数据类型

  • 按值访问

  • 存储的值大小固定

  • 由系统自动分配内存空间

  • 空间小,运行效率高

  • 先进后出,后进先出

堆内存

  • 存储引用数据类型

  • 按引用地址访问

  • 存储的值大小不定,可动态调整

  • 由代码进行指定分配

  • 空间大,运行效率相对较低

  • 无序存储,可根据引用直接获取

5、有三套样式,大中小,怎么实现样式切换?主题切换怎么做?【描述】【举例】

之前做过的主题切换思路:
(1)在 static 目录下新建一个 styles 文件夹,在 styles 下新建一个 theme.css 文件,将需要替换的 CSS 声明在此文件中
(2)新建 theme-colors.js,用于声明所有可选的主题,每种颜色都对应一个关键词如 'primaryBtn' 等,方便区分
(3)通过 ajax 获取 theme.css ,先将颜色值替换为关键词,比如将 '#67c23a' 替换为 'primaryBtn'
(4)把关键词再换回刚刚拿到的最新主题相应的颜色值,并在页面上添加 style 标签

6、页面响应式做过吗,实现思路?用几套代码实现的?【描述】

7、混合式app做过吗【描述】

8、React做过吗【描述】

9、最近在学什么技术?【描述】
Vue 3.0
React 基础用法
下阶段学习:
Node.js 全栈开发
泛客户端开发(uni-app、React Native、Flutter)
计算机基础、网络、数据结构、算法

10、往后的职业规划是怎样的?【描述】

11、你有什么问题要问我的?【描述】

二面

1、说一下JS原型【描述】
5条原型规则:

  1. 所有的引用类型(数组、对象、函数),都具有对象特性,即可自由扩展属性(除了"null")以外

  2. 所有的引用类型(数组、对象、函数),都有一个__proto__ (隐式原型)属性,属性值是一个普通的对象

  3. 所有的函数,都有一个 prototype (显式原型)属性,属性值也是一个普通的对象

  4. 所有的引用类型(数组、对象、函数),__proto__ 属性值指向它的构造函数的 prototype 属性值

  5. 当试图得到一个对象(引用类型)的某个属性时,如果这个对象本身没有这个属性,那么会去它的 __proto__(即它的构造函数的 prototype)中寻找

2、instanceof 原理,怎么实现的?【描述】【伪代码】
instanceof 可以正确的判断对象的类型,因为内部机制是通过判断 对象的原型链 中是不是能找到 类型的 prototype。

手写实现instanceof

function myInstanceof(left, right) {var prototype = right.prototype;left = left.__proto__;while (true) {if (left === null || left === undefined) return false;if (left === prototype) return true;left = left.__proto__;}
}
console.log(myInstanceof(o1, M)); // true
console.log(myInstanceof(o1, Object)); // true
console.log(myInstanceof([1, 2], Array)); // true
console.log(myInstanceof({ a: 1 }, Array)); // false

实现分析:

  • 首先获取右边参数 类型的显式原型

  • 然后获得左边参数 对象的隐式原型

  • 然后一直循环判断 对象的隐式原型 是否等于 类型的显式原型,直到 对象的隐式原型为 null,因为原型链最终为 null

3、项目使用的是 原生小程序 还是 uni-app 小程序【描述】

4、你说做过SEO优化,做了哪些优化?【描述】

5、vue3有哪些新特性,它做了什么优化【描述】
Vue 3.0 性能提升:(1)响应式系统升级

  • Vue.js 2.x 中响应式系统的核心是 Object.defineProperty

  • Vue.js 3.0 中使用 Proxy 对象重写了响应式系统

    • 可以监听动态新增的属性

    • 可以监听删除的属性

    • 可以监听数组的索引和 length 属性

(2)编译优化

  • Vue.js 2.x 中通过标记静态根节点,优化 diff 过程

  • Vue.js 3.0 中标记和提升所有的静态节点,diff 的时候只需要对比动态节点内容

    • Fragments 片段,模板中可以直接放文本内容或同级标签(升级 vetur 插件)

    • 静态节点提升到 render 函数外部,只在初始化时执行一次,再次render无需再次执行

    • Patch flag,标记动态节点(记录节点内容、节点属性),diff时跳过静态根节点 只需关心动态节点内容

    • 缓存事件处理函数,减少了不必要的更新操作

(3)源码体积的优化

  • Vue.js 3.0 中移除了一些不常用的 API。例如:inline-template / filter 等

  • Tree-shaking

6、TypeScript 有了解吗?说下它的特性和优缺点【描述】
TypeScript 是 JavaScript 的一个超集(扩展集),就是在 JS 的基础上多出一些扩展特性,这些扩展特性包括:强大的类型系统、对 ES6+ 的良好支持。TS 最终会被编译为 JS 运行。

优点:

  • 使用 TS 新特性开发项目,项目代码的健壮性增强,代码错误更早暴露。

  • 编辑器支持情况良好,比如:VSCode,有很多智能提示,编码更准确,提升开发效率。

  • 使用 TS 的强类型特性来开发项目,可以使得项目代码重构更牢靠。

  • 使用 TS 的强类型特性来编写代码,可以减少很多不必要的类型判断。

  • TS 最终会被编译为 JS 运行,可以将 ES6+ 编译为ES5/ES3,兼容性好。

  • TS 是渐进式的,完全可以使用 JS 编写代码,可以将新特性慢慢应用到项目中。

缺点:

  • 引入了很多概念和新语法,有一定学习成本,对于一些小项目会增加开发成本

  • 开发过程中遇到问题,可能相关 TS 的网上资料相比 JS 会少一些,需要花一些精力查找资料去解决问题

7、如果让你接手react项目,是否能快速上手【描述】

最后

慧择网是国内知名互联网保险产品与服务平台,早九晚六双休,听说不加班,地点在南山区粤海路动漫园。这家面试难度不大,好像是急招要求快速到岗,最后HR面谈薪时,公司给不到期望的薪资,那就拜拜~继续加油
往期回顾:

  • 三年经验前端社招——朴朴科技

  • 三年经验前端社招——腾讯微保

  • 三年经验前端社招——丰巢科技

  • 三年经验前端社招——众安保险

  • 三年经验前端社招——有赞

  • 三年经验前端社招——Shopee

天生我材必有用,千金散尽还复来

最近组建了一个湖南人的前端交流群,如果你是湖南人可以加我微信 ruochuan12 私信 湖南 拉你进群。


推荐阅读

1个月,200+人,一起读了4周源码
我读源码的经历

老姚浅谈:怎么学JavaScript?

我在阿里招前端,该怎么帮你(可进面试群)

e65de0773f50a53639c4e064658b7620.gif

················· 若川简介 ·················

你好,我是若川,毕业于江西高校。现在是一名前端开发“工程师”。写有《学习源码整体架构系列
从2014年起,每年都会写一篇年度总结,已经写了7篇,点击查看年度总结。
同时,最近组织了源码共读活动

81661d87883b0cf96bfb511261103699.png

识别方二维码加我微信、拉你进源码共读

今日话题

略。欢迎分享、收藏、点赞、在看我的公众号文章~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/275383.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是云计算?云计算学习基础

云计算(cloudcomputing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。 美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式&…

港口遭遇小MM

港口,遭遇小MM 刚开始,丫头看见我拍她,对我毫不客气地说:“侵犯肖像权,除非立刻买两份冰淇淋来!”后来,她就一直跟在我屁股后面,求我给她拍。轮到我说话了:“拍一张&…

印发 指南 通知_通知设计的综合指南

印发 指南 通知重点 (Top highlight)Peripheral messages in digital products, collectively known as notifications, should never harm the user experience. Instead, they must contribute to an experience that helps people accomplish a goal. Addressing notificati…

电大免考英语计算机,关于电大本科课程中英语免修免考的条件

关于免考的规定:(一) 已具有国民教育系列本科以上学历(含本科),可免考全部统考科目;(二) 除计算机类专业学生外,获得全国计算机等级考试一级B或以上级别证书者可免考“计算机应用基础”;(三) 除英语专业学生外&#xf…

三年经验前端社招——众安保险

大家好,我是若川。最近组织了源码共读活动《1个月,200人,一起读了4周源码》,已经有超50人提交了笔记,群里已经有超1200人,感兴趣的可以点此链接扫码加我微信 ruochuan12本文经作者lxcan 授权转载&#xff0…

当文字成为雨滴:HTML、CSS、JS创作炫酷的“文字雨“动画!

简介 在本篇技术文章中,将介绍如何使用HTML、CSS和JavaScript创建一个独特而引人注目的"文字(字母&数字)"雨🌧️动画效果。通过该动画,展现出的是一系列随机字符将从云朵中下落像是将文字变成雨滴从天而降,营造出与…

《梦断代码》阅读笔记01

这几天阅读了老师推荐的《梦断代码》前几章,通过本书简介可以知道本书大概主要讲的是做软件过程中的困难。 第一章软件时间,主要讲的是从事软件制作行业的艰辛,需要没日没夜的加班工作,书中有这样一句话让我记忆深刻:“…

关于html:form/html:form特性

<html:form>第一遍执行的时候他就会根据action属性中指定的Action到struts-config.xml文件中找到该Action&#xff0c;并把该Action绑定ActionForm实例化&#xff0c;如果<html:form>的子标签中(也就是文本框等一些元素)有值&#xff0c;则把这些值填充到对应的Act…

现代人的压力和焦虑_设计师如何建立减少焦虑和压力的体验

现代人的压力和焦虑From my Brooklyn apartment in New York City, I watch Gov. Andrew Cuomo share the daily Covid-19 death toll with the nation. I watch his broadcast every day, around 11 a.m. I dubbed Cuomo America’s #crisisdaddy and have posted so many Ins…

揭秘京东区块链开源项目——JD Chain

导言 近日&#xff0c;京东区块链底层引擎JD Chain正式对外开源并同步上线开源社区&#xff0c;旨在为企业级用户和开发者提供开源服务&#xff0c;帮助他们提高研发效率&#xff0c;加速技术创新。3月30日&#xff0c;国家互联网信息办公室公布了第一批区块链信息服务名称及备…

我是如何零基础入门前端开发的(2021 版)

大家好&#xff0c;我是若川。最近组织了源码共读活动《1个月&#xff0c;200人&#xff0c;一起读了4周源码》&#xff0c;已经有超50人提交了笔记&#xff0c;群里已经有超1200人&#xff0c;感兴趣的可以点此链接扫码加我微信 ruochuan12大家好&#xff0c;我是山山而川&…

学计算机学体育生闺女,古力:生个女儿一定学围棋 生个儿子就去踢足球

成都商报记者 张龑 摄影报道核心提示7夺围棋世界冠军的古力结婚了&#xff0c;这意味着他有了更多的责任。婚后的古力做到了以家为重———“现在下完棋就回家&#xff0c;酒基本上不喝了&#xff0c;连唱歌这些娱乐都基本上取消了。”古力对未来还有个愿望&#xff0c;就是生个…

去贵阳参观大数据到哪参观_您必须参观的四个世界

去贵阳参观大数据到哪参观Video games have always aimed to create a world separate from our own, with experiences gamers couldn’t get anywhere else. As technology has raced forward with time, these worlds have become more realistic, more believable, and at …

MySQL 不落地迁移、导入 PostgreSQL - 推荐 rds_dbsync

标签 PostgreSQL , MySQL , rds_dbsync , mysql , mysqldump , copy , mysql_fdw 背景 将MySQL数据不落地的方式导入PostgreSQL。 1 rds_dbsync (推荐使用) 《MySQL准实时同步到PostgreSQL, Greenplum的方案之一 - rds_dbsync》 这个效率最高&#xff0c;支持不落地&#xff0c…

asp.net 六大对象之Request、Response

ASP.NET的六大对象&#xff0c;本质上只是 Context 里面的属性&#xff0c;严格上不是对象。 1.Request-->读取客户端在Web请求期间发送的值 2.Response-->封装了页面执行期后返回到Http客户端的输出 3.Server-->提供对服务器上的属性和方法的访问 4.Application-->…

对微型计算机工作影响最小的因数是,(已)保护试题9

继电保护试题9一、填空题(每空1分&#xff0c;共10分)1、交流电的三要素是最大值(幅值)、角频率、初相位。2、三极管实现放大作用的外部条件是发射结正向偏置&#xff0c;集电结反向偏置。3、为了确保方向过电流保护在反向两相短路时不受非故障相电流的影响&#xff0c;保护装置…

1年工作经验8月份大厂面试全记录

大家好&#xff0c;我是若川。最近组织了源码共读活动《1个月&#xff0c;200人&#xff0c;一起读了4周源码》&#xff0c;已经有超50人提交了笔记&#xff0c;群里已经有超1200人&#xff0c;感兴趣的可以点此链接扫码加我微信 ruochuan12本文来自读者AaronKwong 投稿。他参与…

axure ui设计_了解针对UI / UX设计人员的Axure RP 9

axure ui设计Axure is a powerful prototyping software with a lot of history. It has been around for many years and is available for Windows and Mac. Axure gained a lot of functionality over time, and today you can look at Axure as all in one tool. You can b…

如何不让FCKEditor自动添加P标签

使用FCKeditor编辑器的时候&#xff0c;点开里面就会自动添加上<P></P>的标签&#xff0c;按回车也会自动添加上相同的标签修改/include/FCKeditor/fckconfig.js找到FCKConfig.EnterMode p; //p | div | brFCKConfig.ShiftEnterMode br; //p | div | br替换成FCKCo…

Greenplum 优化CASE - 对齐JOIN字段类型,使用数组代替字符串,降低字符串处理开销,列存降低扫描开销...

标签 PostgreSQL , 数组 , 字符串 , 字符串处理 , JOIN , where , 类型一致性 背景 Greenplum通常被用作OLAP&#xff0c;在一些用户使用过程中&#xff0c;可能因为数据结构设计&#xff0c;SQL问题等原因导致性能不佳&#xff0c;虽然通过增加节点可以解决问题&#xff0c;但…