一页面试题
作者:admin 日期:2021-11-20
- // 第1题
- let str = "2434cab"
- let arr = [...str]
- console.log(arr)
- let sss = []
- do {
- let rrr = _.takeRight(arr, 2)
- arr.length = arr.length - 2
- sss.push(rrr[0]+rrr[1])
- } while (arr.length>2);
- sss.push(_.replace(_.toString(arr),',',''))
- console.log("第1题答案:",sss)
- // 第2题
- let sss = []
- for (let i = 1; i < 101; i++) {
- let flag35 = (i % 3 == 0) && (i % 5 == 0)
- let flag3 = (i % 3 == 0)
- let flag5 = (i % 5 == 0)
- if(flag35){sss.push("bb35");continue;}
- if(flag3){sss.push("bb3");continue;}
- if(flag5){sss.push("bb5");continue;}
- sss.push(i)
- }
- console.log("第2题答案:",sss)
- //第3题
- let rect = document.getElementById('rect')
- console.log("第3题答案:", [rect.getBoundingClientRect().width,rect.getBoundingClientRect().height])
本次YT项目的一些收获
作者:admin 日期:2021-06-02今年4月1号开始在YT公司参与一个商业管理系统的开发,担任前端开发,跟十几个同事一起工作了二个月时间。
涂鸦智能(杭州)外协工作小记
作者:admin 日期:2020-12-19涂鸦智能(杭州)外协工作小记
面试前端岗位的一次经历(长沙)
作者:admin 日期:2020-10-15我打算在含浦、洋湖、后湖这个3公里圈子里找份前端工作。上周通过BOSS直聘联系到后湖的一家公司,基本条件和待遇双方都符合,于是约定面谈。
北京50天项目收获
作者:admin 日期:2020-09-17项目采用前后端分离,前端框架VUE+element ui。也使用了原生SVG做一些控件的开发。
我担任前端工作:
1、负责搭建整个项目的前端框架和主体逻辑。撰写主干代码和路由表,做模块化的总体规划与示例。子单位只能在他们固定的目录,写固定名称的组件(我们称之为“槽位”),所以我们统筹组需要在原型设计的基础上,提前定出槽位。这个提前做的工作有时间要求,否则子单位不好开展工作。另外前期槽位如定得不合理的话,后期代码编写会有麻烦。我们统筹组总体还是达标了。
2、为各单位提供前端解释与咨询。各单位进场时间有前后,对项目理解也不一致。因此统筹组要帮助他们理解进场逻辑,并写出合格的组件。
3、以下主要是我们内部工作。安排人员开发几个重点组件(拖拽树、甘特图、圆形导航),这几个重点组件涵盖近二分之一的应用场景,非常重要。我做为前端组长,安排了专人来开发,追进度、规划要暴露的接口、做压力测试。(后文详细阐述)
4、使用element组件构建约20个页面。中间含有大量的列表、表单、弹窗。在element基础上也另外封装了一些组件。比如封了一个可拖动的el-dailog。
5、对全局scss的定义:使用了内置的element-variables变量文件,统一颜色及组件外观。
6、使用vuex进行跨组件通讯。
7、大量的api请求和前后端联调工作。(后文详细阐述)
三个组件的功能描述:
1、树组件:
这个树组件我们内部命名为gtree(类似脑图),节点上要通过拖拽行为增加子节点。树图与数据双向交互,节点可增、删、改。
我们使用了go.js(破解版)构建。
这个树的核心代码由黄工写的,外部事件由我进行定义和调试。
2、甘特图:
这个组件先后开发了两版。之前版本由赵工写的,性能方面有些问题。后面这一版由黄工写,外部接口由小周进行调试。
这一版避免了数据条数较多时的卡顿问题,在上下连续拖拽和展开时做了逐步加载,这是一个重大的升级。
“时间条”从头开始就是黄工写的,可以拖动移动,也可以拖动改变大小。
3、圆形导航:
这个圆形导航黄工写了SVG的环状实现。这个组件我全文reivew了代码,已经基本掌握。
环状实现用的SVG的原生PATH对象,这部分体现出黄工的算法功底。
以下谈谈我的收获:
1、前后端联调涉及大量的数据处理,要熟练地使用ES6语法和lodash库。对我本人来说,以前这方面实战得较少,这次跟小周、小任学了不少语法和技巧。
2、图形算法方面,黄工表现出非常高的开发效率。他对算法很熟,比如将四个数组转化成四个同心圆,并进行均分切割,再得到PATH对象。他对DOM模型很熟,比如手写了可拖拽变换宽度的长方形。文档阅读能力也很强,他读了gojs的英文版的官方文档,才完成了gtree的所有功能。我除了学习他的构建思路,还跟他学到了算法、控制台debugger的一些技巧。
3、对于VUE工程化、同步协作方面,有了一次完整的实践。比如模块化、路由、组件定义的粒度、VUEX、env环境变量的使用。
4、对后端接口调试有了比较完整的认识。比如HOST切换、数据异常时的一般呈现、数据前端加密、axios的封装等。
接下来的研发想法:
1、重点研发一下SVG图形写法(简单的用原生,复杂的用框架)。争取能自如地实现SVG图形化。
2、总结一下lodash的各种用法,尤其是跟日常工作相关的技法。
3、建议使用postman用到开发中,后端测试完样例,再交给前端,可较大提升前后端协同能力。
一个阿里云帐号,只能对应一个备案主体
作者:admin 日期:2020-05-062017年总结--写于2018年初
作者:admin 日期:2018-02-19经历:
常用前后端协作说明
作者:admin 日期:2018-02-01今年碰到的最困扰的一个技术问题,解决了
作者:admin 日期:2018-01-19问题标题:addEventListener捕获物理键,本地真机调试成功,云编译后无效
2016年终总结
作者:admin 日期:2017-01-26经历:
发现移动端使用WEUI的越来越多
作者:admin 日期:2016-07-132015全年总结---电商前端探索
作者:admin 日期:2016-02-04昨天,我所在的电商项目组已经放了假,今天正式开始休息。 我放年假后第一要事,是写总结。 如果对一年的成绩还算满意,此事则令人喜悦--保有初心,不在于走了多远,而要时刻明白自己身在何方。
经历:
1、2015年仍然做了不少大企业网站(PC端),值得一提的是博深集团、株洲轨道交通
2、跟共成团队合作了“云峰湖”、“拾得大地”两个较复杂的单页应用站(PC/移动端/响应式)
3、长沙银行新版改造
4、在YC电商团队短期工作,电商前端初探。
5、以顾问方式,参与ERP/XYG两个软件项目的界面改造(bootstrap/jquery)。
6、年末时,加入WK电商团队,电商前端再战 。
技术:
7、学习MVC/MVVM前端模式,项目中使用过avalon及vue.js
8、具体使用:mui框架,json解析,underscore,localstorage读写,前端的HTTP与缓存体系,iconfont(@font-face)
9、了解:gulp,webpack,requirejs,node.js
10、bootstrap+jquery插件
工具:
11、熟练sublime txt3+emmet
12、nodejs快速搭建本地环境
13、熟练chrome调试器
合作与分享:
14、实践了以顾问方式参与外包项目,日志计算工作量/取酬
15、与很多新老朋友,巩固联系、开始合作:老董、老高、草帽团队兄弟们、军亮、慧琼等
16、持续更新博客,分享进展,帮助同行
运动:
17、坚持跑步,完成了2个在线半程马拉松,10月长马(半马)完赛并创个人最好成绩。
18、参加HBD篮球队每周定期比赛。
2016愿景:
19、明年争取进入知乎/github,更多分享
20、完善整个电商前端技术线,以高效开发方式,做出1款较成熟产品
21、想在长沙组织一个持续前端交流的小圈子
22、官网改版
23、搬家到河西,离产业圈更近,运动环境更好。
写完。
[转自知乎]前后端程序员的差别
作者:admin 日期:2016-01-24著作权归作者所有。
练内功
作者:admin 日期:2016-01-09先摘一段“射雕”原文做开篇:
- 梅超风...忽地心念一动,朗声道:“马道长,‘铅汞谨收藏’,何解?”马钰顺口答道:“铅体沉坠,以比肾水:汞性流动,而拟心火。‘铅汞谨收藏’就是说当固肾水,息心火,修息静功方得有成。”梅超风又道:“‘姹女婴儿’何解?”马钰猛地省悟她是在求教内功秘诀,大声喝道:“邪魔外道,妄想得我真传。快走快走!”
有时候自我学习就象是外道练内功,不得其法而入,如果有个“高手”点拨一二,则融会贯通,大道可期。我每次见老高,就会找他问一些“大道”类问题。做为一个资深的后端程序员和总架构师,老高可能对于一些具体的语法或是工具,没有实际用过,但他对于整个前后端关联和概念性问题,却能提纲挈领。
这次跟他讨教,帮我具体解释了以下疑问:
1、为什么,目前的购物车的体系,多采用分页面方式,比如“商品大类--商品列表--商品详细页---购物车管理页”,采购信息在浏览器端存储,用cookie或是localStorage跨页面传递/或是直接存后端数据库,为什么比较少运用单页面应用(SPA)?
--老高的解释是:移动端内存小,单页面方式可以有效的释放内存,SPA很难做到精准调度内存及其它资源(高手除外)。PC端因为内存大,反而无所牵挂。
2、当项目的逻辑关系比较复杂时,如果用科学的方法分析UML数据模型、画示意图、变量定名,这些工作一般由谁来做?
--老高解释是:UML有必要做,一般由总架构师来做,但是比较简单的项目,往往可以忽略,由前端人员也可以实施。
3、关于MVVM架构(angularjs/avalon/vue)的一些疑问,其实学习理论时,也大体了解“前后端解耦”的原理,但是跟后端人员真正沟通一下,才明白这样做的意义所在。老高的解释是,MVVM确实是可以让前后端人员分工,通过制订统一的类似json这样的数据接口,来进行前后端连接。
4、他提供信息:很多常用功能,比如“翻页功能”,成熟的MVVM体系,应该都有组件可用,不用自己从底层写起。
5、跟我讲解了一下“Http头”存储信息的原理,我回来以后,具体查询了一下头协议的概念。
6、探讨了一下“懒加载”及css3的calc()用法。
这些问题,最近也跟中亮、黄S、曾YH等前后端高手有交流,谢谢他们的指点。