小程序开发流程面试(小程序开发流程面试技巧)
本篇文章给大家谈谈小程序开发流程面试,以及小程序开发流程面试技巧对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天去巽如面试,面试官问我对小程序了解的程度,以前没接触过,我很蒙圈,请各位大神普及一下小程序?
首先来了解一下小程序的基本原理*(不论是百度智能小程序还是微信小程序或者支付宝抖音今日头条的小程序,其实性质是相似的。):
首先您最好了解一下网页的呈现原理:简单来说就是写一些代码去描述一个网页,比如我要在网页的顶部放一张图片,图片下边放一段文字,文字是蓝色的,文字的下边是一个视频等等。
网页是从有万维网之初就有的信息呈现方式,但是有几个不方便的地方:
1、同一段代码在不同浏览器中显示效果可能不一样,开发人员要花许多精力去调试不同浏览器上的呈现效果。
2、原始的浏览器代码写起来很麻烦,对程序员的要求相对要高一点。
3、网页代码的执行效率一般,如果遇到比较复杂的场景会比较耗 CPU。
4、用户登录时需要每次都输入用户名密码,比较麻烦。
对于网页的认识,大家最常见的应该是现在依然还非常流行的许多 H5 页面,我的最大感觉就是:每次打开时的加载速度是个明显的硬伤。
微信看着这么多 H5 页面在自己的平台上为用户提供了许多额外但用户又必需的功能,自然想着要怎么把自己的平台做得更完善,毕竟流量就是金钱,用户的注意力就是金钱,于是乎微信自己也推出了一套类似于 html 代码的标准,让开发者可以更方便得开发出页面,而这些页面经过微信的优化整合之后在微信中显示的效果会比原生的 html 更好,毕竟微信针对自己的小环境做了许多适配嘛。
但是,如果你不想看我上面罗里吧嗦说这一堆的话请记住一点:小程序就是一具高级版的网页,是网页,是网页。
既然是网页,那就意味着小程序不是万能的,除了网页能做的事别的是做不了的。其实从另一个角度也可以理解成这样:因为小程序是运行在微信上的,而微信又是运行在手机上的,手机相比于电脑有着天然的计算能力上的劣势,所以小程序不适合做那种很耗运算能力的事情,网页并不是万能的。唯一有可能的是把文章 html 转换 pdf 的工作放到云端主机上,本地只是从云端下载转换好的文件。
另外小程序会受到微信的严格限制,比如不能转发到朋友圈。也不能获取用户的朋友圈信息,更不可能获取他的通讯录、短信、微信好友账号等信息。有朋友会问为什么不能,凭什么要能?你一个小工具不老老实实做“用完即走”的功能怎么净惦记着用户的那点数据,微信会同意吗?用户会同意吗?
还有一个有趣的现象,小程序的宣传多起来之后,有许多社会人士会把小程序看成是无所不能的神一样的东西,却不肯去花一点点时间了解一下小程序究竟是什么,能做什么不能做什么。一时间他们的口头禅成了:你这个东西最好做成一个小程序。仿佛不紧跟小程序的步伐就落伍了一样
2022前端开发面试记录(深圳篇)
2022年来到深圳,感觉到了与之前所在城市的差异,心里多少有点落差。虽然时机不太对吧,但是相信一切都会好起来的,给自己加油呀!
整理了一些面试被问到的问题,虽然很多是无效面试,但是我也强行问了面试官,从他们的回答中猜测了一下他们关注的面试点,所以也算是有点收获吧,只是浪费了很多简历和路费,哭唧唧。
——1、区块链——
1-1、vue生命周期;
1-2、vuex属性;
1-3、用户开始登录到登录成功都发生了什么;
1-4、git常用的命令;
——2、金融:vue——
笔试:
2-1、深浅拷贝的区别,为什么会出现深浅拷贝,浅拷贝的优势;
2-2、强制中断 foreach 遍历;
2-3、多处组件复用;
2-4、你对前端是什么概念,前端在整个软件生态内是什么角色;
2-5、Vue2 中数据变化但视图没有发生同步更新,描述一下出现的场景,解决方式,以及该问题发生的可能原因;
2-6、nextTick 是如何确保开发者能够获取到最新的 DOM 状态的;
2-7、如何使用 mixins,有何利弊;
2-8、使用 Hooks 模式开发时,useMemo,useCallback 常用来作为优化的手段。描述一下它们各自的适用场景,以及背后的原理实现?;
2-9、前端从 Jquery 时代演变至如今的三大框架,这种演变的根源是什么,jquery 解决了什么问题,如今的三大框架又是为了解决什么问题出现的?
视频面试:
2-10、js遍历树形结构,每个节点都有一个唯一ID,只能遍历一次;
2-11、组件封装的意义;
——3、知识产权:vue2、vue3、ts、react——
3-1、说一说面向对象的理解,包括继承、封装、多态等;
3-2、说一说promise;
3-3、webpack优化;
3-4、vuex使用场景;
3-5、描述一下对vue响应式原理的理解;
3-6、vue生命周期;
3-7、父子组件钩子函数执行顺序;
3-8、v-if和v-show;
3-9、js数据类型;
3-10、实现深拷贝;
——4、物流——
4-1、vue生命周期;
4-2、生命周期-修改元素样式在生命周期的哪个阶段;
4-3、生命周期-修改数据在哪个阶段;
4-4、生命周期-destroy里面会做哪些操作;
4-5、怎么修改title的内容;
4-6、父子组件传参的具体写法;
4-7、v-model的多种写法;
4-8、js数据类型;
4-9、判断数组的方法;
4-10、实现左边固定右边自适应的布局;
4-11、实现div垂直水平居中;
4-12、flex:1;
4-13、flex详解;
4-14、call,apply,bind是干什么的;
——5、新兴产业——
5-1、封装路由,怎么拦截路由;
5-2、浏览器缓存有哪些,又问localStorage和sessionStrorage的区别和应用场景;
5-3、浏览器强缓存和协商缓存;
5-4、webpack打包机制,构建过程和配置;
5-5、性能优化方法;
5-6、前端的业务和后端的API是怎么做到数据实时请求的(问的其实是前端对后端API接口的封装和管理);
5-7、computed和watch;
5-8、说了几个关于大屏的应用场景,有没有做过,怎么做的;
——6、某水果:vue2、vue3、ts、各种前沿技术都用——
6-1、怎么封装一个组件库/工具类库,比如vue封装过什么复杂组件,jquery封装过什么类库;
6-2、get和post的区别,传参格式等;
6-3、promise怎么用的;
6-4、原型链,test()的原型链;
6-5、websocket;
6-6、es6中的generator;
6-7、es6中的set和map有啥区别,set为什么能去重;
6-8、项目难点;
——7、医疗健康:vue——
7-1、vue自定义指令配置;
7-2、webpack的理解;
7-3、对node的了解,用过express吗;
7-4、项目中的拖拽是怎么做的;
7-5、websocket和socket的区别;
7-6、听过mqtt吗,因为没听过所以解释了一下activemq的用法;
7-7、二维地图的聚合,如果有十万个点,会做什么优化;
7-8、地图实现多个点连成一条线会怎么做;
7-9、地图实现一条曲线;
7-10、内网下git怎么用的;
7-11、openlayers渲染机制;
7-12、父子组件通信方法;
7-13、router中实现拦截;
7-14、对象合并的方法;
7-15、父子组件的生命周期执行顺序,渲染阶段为什么会先执行父组件再执行子组件;
7-16、vue生命周期;
7-17、npm run dev, run build可以在项目中的什么位置找到;
7-18、vue中跳转页面的方法;
7-19、mixins用过吗;
7-20、判断引用类型的方法;
7-21、js数据类型;
7-22、判断基本数据类型的方法;
7-23、for in和for of的用法和区别,两者遍历的是索引还是属性值,两者都可以遍历对象吗;
7-24、foreach和map的区别,两者会不会改变原数组;
7-25、主要用什么技术栈;
7-26、行内元素和块级元素的区别,分别都有哪些,行块级元素有哪些;
7-27、div垂直水平居中,grid知不知道怎么用;
7-28、splice和slice;
——8、智慧园区:vue2、vue3、ts、uniapp——
8-1、flex了解吗,flex布局方向,flex:1 0的页面效果是怎样的;
8-2、做过移动端吗,了解uniapp吗;
8-3、keep-alive;问了一个没听明白的,可能和keep-alive有关系;
8-4、vuex中的action;不用vuex,怎么代替vuex;
8-5、promise.all和promise.on;
8-6、防止表单重复提交;
8-7、async,await的使用;
8-8、vue3和ts的了解;
8-9、防抖怎么控制时间;
8-10、vue中的data为什么要设计成一个函数;
——9、智慧工地:vue、uniapp、小程序——
9-1、Vuex是干什么的;
9-2、openlayers怎么用的;
9-3、性能优化;
9-4、spa首屏加载优化;
9-5、bundler.js太大,打包怎么优化;
9-6、加密方式了解多少,比如md5,base64等,一大堆没听过的;
9-7、冒泡排序的实现原理;
9-8、js设计模式;
——10、某快递公司外包——
10-1、一棵树的数据,给的是列表格式,转换成树形结构;
10-2、项目相关的,聊天怎么做的,拖拽怎么做的,拖拽的数据怎么渲染的,拖拽重叠怎么处理的;
10-3、js设计模式;
——11、三维:vue、cesium——
11-1、一棵树的数据,给的是列表格式,转换成树形结构;
11-2、openlayers怎么用的,发布过wms吗,发布流程是怎样的;
11-3、openlayers转换经纬度的方法名是什么;
11-4、cesium常用的函数;
11-5、vue数据双向绑定原理;
11-6、Vue中data属性如果改变一个数组的下标,会不会马上发生变化,不变化可以怎么解决
11-7、数组常用方法有哪些;
11-8、 map和filter的区别;
11-9、es6常用的方法;
11-10、父子组件通信,兄弟组件通信;
11-11、new具体进行了什么操作;
——12、医疗:vue、angular——
12-1、js渲染机制和运行机制;
12-2、vue数据绑定原理;
——13、建设行业:vue、uniapp——
笔试:
13-1、||与运算符;
13-2、垂直居中方案;
13-3、let a=arr, b=a, c=arr.concat(), a[0]=3,打印b和c,应该是深浅拷贝;
13-4、实现font-size:12;
13-5、接口路径,给一个地址 ,根据url请求接口路径写出完整路径,’/ geturl.do ’,’ geturl.do ’,’../ geturl.do ’;
13-6、微信小程序流程和主要文件;
13-7、获取url参数及内容;
13-8、$(function(){}) / (function(){}) / (function(){})()的区别;
13-9、前端优化方案;
面试:
13-10、项目难点;
13-11、git工作流;
13-12、jquery项目会不会用webpack打包;
13-13、webpack优化;
13-14、web优化;
——14、文化:uniapp——
14-1、ssr渲染;
14-2、ajax和axios的区别;
14-3、cookie和session的区别;
14-4、vue生命周期;
14-5、数据请求写在哪个生命周期中;
14-6、router的history模式和hash模式;
14-7、工作中的开发流程;
14-8、uniapp的开发流程和坑;
14-9、uniapp滑动问题,下滑切换视频不生效,一般是什么原因;
14-10、uniapp加载速度慢,点击加载图片速度太慢,一般是什么原因;
——15、企业平台某外包:vue,node,性能优化——
15-1、说一说websocket;
15-2、vue数据双向绑定原理;
15-3、项目难点;
15-4、对mvvm、mvc、mvp等的理解;
15-5、vue的常见指令;
15-6、computed和watch;
15-7、class和style怎么绑定;
15-8、ajax和axios的区别;
15-9、axios拦截器,axios的post请求;
15-10、对前端渲染,服务端渲染的理解;
——16、智慧城市:vue,node,three.js——
16-1、vue生命周期;
16-2、vue组件通信方法;
16-3、js的继承;
16-4、oracle、mysql、sqllite的区别;
16-5、oracle连表查询;
16-6、openlayers项目场景;
16-7、cesium项目场景;
——17、租房:jquery+layui,vue2——
17-1、笔试:
17-2、foo打印题;
17-3、this打印题;
17-4、变量提升打印题;
17-5、let arr=[1,2,[5,8,[9,[3,5,]7,]20,37]] 把数组扁平化成一个数组,并进行去重升序;
17-6、let a=[1,2,3,4,5,6,7]; let b=[4,5,6]; 求b在a中第一次出现的位置;
17-7、面试:主要问项目
——18、跑腿:vue2,vue3+ts——
18-1、对html5语义化的理解;
18-2、css实现一个三角形;
18-3、css怎么实现0.5px的线,为什么有这种需求,涉及到兼容性问题;
18-4、怎么解决变量提升的问题;
18-5、es6新增了哪些定义变量的方式;
18-6、const定义的变量可以被修改吗;
18-7、map和filter的区别,会改变原数组吗;
18-8、es6去重的方法;
18-9、谈一谈对promise的理解;
18-10、除了链式调用,promise还可以怎么处理同步请求(async/await);
18-11、对vue响应式原理的理解,核心是什么;
18-12、对vue生命周期每个阶段的理解;
18-13、为什么要用key,key有什么作用;
18-14、v-if和v-show;
18-15、Vue中data为什么是一个函数;
18-16、vue各场景下的传值方式有哪些,比如父子组件,兄弟组件,祖孙组件;
18-17、对vuex的理解和使用场景;
18-18、vue常见修饰符;
18-19、Vue3用过吗(因为没用过,所以就只针对响应式原理说了一下vue3和vue2的区别);
——19、实业:jquery,vue2,vue3——
笔试:需要解释
19-1、html5新标签,css3新特性;
19-2、js+css3实现某元素以50px每秒的速度左移100px;
19-3、css实现左中右布局,不改变文档流;
19-4、js兼容性有哪些,以及常见的解决方案;
19-5、描述一下事件循环机制eventloop,eventloop解决了什么问题;
19-6、给了一个题,大概是后端返回的接口数据,data的格式有很多,比如null,对象,数组,字符串等,怎么处理这种问题;
19-7、前端性能优化方法,首屏页面怎么优化;
19-8、用js写一个方法实现数据去重并排序(用es5和es6+实现);
19-9、给定一个数组,把数组中为0的往后排,其他值按顺序排序; (示例:[1,0,4,0,5,3]转换结果为[1,3,4,5,0,0])
19-10、用0,1,2代表红黄蓝三种颜色,实现以下排序,不能用array.sort实现;(示例:[0,1,0,2,0,1,2]转换结果为[0,0,0,1,1,2,2])
面试:
19-11、flex布局;flex:1对应的属性;
19-12、讲一下原型链; proto 和prototype有什么区别;字符串有没有原型;给定一个str,str.test()调用的谁的test方法;
19-13、讲一下闭包;什么情况下才能算是闭包;形成闭包的条件;列了三个题让你判断是不是闭包;
19-14、v-if和v-show是干什么的;应用场景有哪些;给定一对父子组件,默认值是false,另外有一个ajax请求,值发生了以下变化(false true false true true),在v-show和v-if中,父子组件的哪个阶段里会请求ajax;
19-15、computed的实现原理,怎么实现一个computed;
19-16、css中,transform,margin,position的都是怎么渲染的,渲染机制是什么;amd,cmd,commonjs了解吗;
程序员面试要准备些什么东西?
面试前的准备
简历
1. 千万别给自己挖坑
在面试的时候,面试官都会针对简历上技术能力、工作经历、项目经验等提出一些细节上的问题,所以你写下的都些东西必须是真实,并且是非常了解。
2. 要有辨识度
通常一个职位可能收到的简历比较多,很多时候,你的简历甚至根本没被HR看到。那么,怎样让自己的简历脱颖而出呢?首先,简历要有“辨识度”,要让面试官看完这个简历,就很想见见这个人。
3. 面试前最好进行一个“模拟面试”
其实自己在制作简历的时候,就像写程序一样自己是很难发现bug的,因此在面试前最好找朋友、老师或同学帮你来一场“模拟面试”,这样也许会发现一些意想不到的问题。
4. 针对不同的公司要对简历进行微调
比如对方是个做电商。而你恰好做过类似项目,就可以将该部分的项目介绍着重突出以下,比如排列到最前面。
充分准备相关的专业知识
可以在网上收集一些相关的面试题,有时面试官也可能会照着网上的内容来问,所以网上一些比较热门的题目也可以关注一些,然后对照自己的经验组织成自己的语言。
项目经验
项目的研发背景、整体业务流程、开发周期、负责的模块、技术实现细节、技术亮点等。自己做过的每个项目都要整理清楚。
了解热门前沿技术
比如你面试的是 iOS 开发岗位,除了 OC 你还能聊聊最新版本的 Swift;比如现在微信小程序开发又火起来了,你也在关注和学习,甚至能解决面试官的一些问题。了解这些热门的前沿技术绝对会成为你面试时的加分点。
uniapp面试题必问有哪些?
ni-app面试考试有几个题是必问的:uni-app收费吗?跨端会造成功能受限制吗?以及uni-app的手机端用户体验如何?
1、uni-app收费吗?
uni-app是免费产品,DCloud公司不会向开发者收取任何费用,大家可以放心使用。
DCloud提供的所有开发工具都是免费的,也不会有什么陷阱。
DCloud的盈利点在帮助开发者进行推广和流量变现上,而不在开发工具收费上。
2、跨端会造成功能受限制吗?
uni-app在跨平台的过程中,不牺牲平台特色,不限制平台的能力使用。
应用开发中,80%的常规开发,比如界面组件、联网等api,uni-app封装为可跨多端的API。
其余的,uni-app引入条件编译。可以优雅的在一个项目里调用不同平台的特色能力。比如push,微信小程序里不支持,但可以在App里使用,还有很多原生sdk,在App时难免涉及,这些都可以正常的在uni-app框架下使用。
3、uni-app的手机端用户体验如何?
使用uni-app开发的微信小程序,和直接开发微信小程序相比性能没有明显差别,因为uni-app输出到微信时也是编译为wxml格式。uni-app编译到微信使用的是mpvue框架,这个是业内广泛使用的成熟框架。
uni-app打包成App后的体验和微信小程序一样好,在某些场景下更好;微信小程序的Hybrid应用框架是业内体验上的标杆,实践证明这种体验足以承载一线互联网开发商获得上亿用户。
uni-app内置预载机制,加载新页面速度极快,可实现无白屏极速渲染。
uni-app在App端还支持weex原生渲染(nvue),左右拖动长列表等复杂场景依然可实现高流畅性。
如何制作一个招聘类小程序?
1.在制作招聘类小程序前,可以先了解一下这个岗位除了工资,公司还具备哪些比较吸引人的特质,如发展空间,公司待遇、学习机会;
2.了解以后,打开微信公众平台开始注册一个招聘类小程序,注册后开始设置小程序的名称、头像以及简介,注意名称,简介要与公司相关,和招聘功能相关;+
3.设置完成以后,打开微信小程序开发工具,开始组件或者是直接选择模版,可以参考其他招聘类小程序的设计风格;
4.组件完成以后,可以按照相应的版块填写相应的内容,一般招聘需要突出岗位的要求,公司的福利以及公司的前景等具有说服力的内容;
5.内容添加完成以后,可扫码查看小程序是否存在问题吗,再进行调整,确认无误后即可提交审核,提交审核时需要确认信息无误即可提交;6.提交后一般审核要等待1到7天,招聘类小程序可多在求职类的社群传播,以便尽快找到匹配的人才,也可开通附近的小程序,提升效率。
如何面试开发人员?
闲暇时翻看这些文档,觉得面试开发人员还是有很多学问的,又在网上搜集了一些资料,结合以前看过的书,简单的梳理一下如何面试开发人员。输入输出原则 做任何事情都是要有输入输出的。 就技术面试的输入而言,一是是确定面试的一些基本信息,比如面试地点、面试时间和面试用时限制等;二是要明确用人要求,比如人员等级、需要掌握哪些技术、年龄学习是否有限制、要求有哪些能力等等;三是要认真阅读应聘者的简历,深入了解应聘者的信息,为准备面试问题打基础;四是明确面试输出结果的要求,比如下面将提到的面试结果表。 就技术面试的输出而言,这几次技术面试都要求最后填写一张面试结果表,内容包括应聘者的基本信息、面试时间、最终评分、基本评价和面试结果,基本上按照这些内容填写即可。寻找机敏成事的人 以前参加过校园招聘,除了专业知识的考察外,很重要的是一些基本素质的考察,比如解决问题的能力,逻辑思维能力,沟通表达能力,兴趣与发展潜力等。我很赞同《Joel说软件》中关于要找的人的标准——机敏、成事,这和上面说的哪些基本素质要求也是契合的。 如何判断一个人是否有这些基本素质呢? 最重要的一点是观察你们之间的交流是否顺畅即沟通表达能力,因此面试要营造一种氛围,让应聘者充分展示其才干。 其次要认真设计面试问题列表。比如问解决过哪些棘手的问题,可以考察其解决问题能力和沟通表达能力;比如问一些没有答案的问题,可以观察其是否够机敏等等; 还可以让应聘者写一些小程序,比如折半查找、n的阶乘、转链表、字符串长度、反向排列字符串等笔试题,观察其是否敏捷高效、基本功是否扎实、考虑是否缜密全面等。专业生存 当今社会“专业生存”是根本,我们招人也是要招专业能力强的人!因此除了考察基本素质外,专业技能方面也要着重考察。 如何考察专业技能呢?准备一些常见的专业技能问题,包括基本的,中等难度和高难度的问题,通过应聘者对问题的解答程度来判断其专业水平。常见面试问题 从上面的梳理可以看出,技术面试主要从基本素质和专业技能两个维度进行考察,下面从这两个维度再梳理一下常见的面试问题。基本素质相关问题做一个自我介绍。(观察其表达能力,是否有条理,有重点)介绍最近从事项目的情况。(是否有激情,表达能力,是否愿意承担责任,是否愿意担当领导)你为什么来我们公司应聘?(求职动因)你对我们公司有哪些了解?(态度是否端正,准备是否充分,是否是一个细致的人)你遇到过哪些技术难题,如何解决的?(解决问题能力,表达能力)若因自己的原因工作未完成,是否接受加班?有没有先例?(责任心,目标感)现在软件行业的现状如何?(专业水平,工作兴趣)专业技能相关问题(Delphi)面向对象是一个什么概念?多态、封装、继承的基本概念?是否用过设计模式?什么概念?用过哪些设计模式,为什么要这么使用?模块化是什么概念?实际工作中如何体现?DLL的基本概念?什么情况下可以使用?如何使用?
小程序开发流程面试的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于小程序开发流程面试技巧、小程序开发流程面试的信息别忘了在本站进行查找喔。