其实前端绝不仅仅是网页开发而已。微信小程序和 App,其实都离不开前端范畴。尤其是微信小程序,几乎就是前端垄断的世界,仅「小程序」方向上,作为前端工程师,纯技术层面我们就可以:
-
深耕微信小程序,支持企业中微信小程序业务
-
横向扩展多平台小程序,包括支付宝小程序、百度小程序等业务
-
基于小程序,研发小程序相关框架。比如已经很成熟的 taro,mpvue 等,这些框架的编译时和运行时都有学习和优化之处
-
在多平台小程序上,研究跨小程序开发技术,以及跨端开发技术
-
纵向深耕小程序底层,向端技术扩展
另外,前端的边界是不受限的,比如:
-
基于 NodeJS 技术,使前端能够进入后端领域
-
基于 Hybrid 或 React Native 甚至 Flutter 技术,使前端能够进入客户端方向,发挥灵活高效的价值
-
甚至 tensorflowjs,也让我们能蹭一蹭机器学习的热点
这些都是技术上随手可举的方向。总之,基于强大的语言生命力和社区,前端开发将会较长时间能保持活力和进取。
下面,我们从职位招聘角度来看当前前端需求和未来前(钱)景:
-
前端招聘需求量始终旺盛,在资本寒冬当下,岗位缺口还很大
-
前端待遇水涨船高,已经至少和后端/客户端等技术岗位持平
![]()
一些我和猎头的交流:
![]()
当然,前端作为最贴近用户的技术岗位,在「产品增长」、「产品运营」、「产品设计」等环节起着主导地位。正因为此,前端的未来也可以是跨界的,是完全可以带领业务发展,甚至定义行业新格局的。
=============================================================
始于前端,不局限于前端。不要把自己限制在客户端的实现者,让自己参与产品程序设计,精前端,懂业务,懂后端。
这里羞耻给大家分享我最近整理的前端校招面试真题合集:
包含了腾讯、字节跳动、百度、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目。希望对大家参加前端校招有所帮助吧!
-
浏览器页面有哪三层构成,分别是什么,作用是什么?
-
HTML5的优点与缺点?
-
Doctype作用? 严格模式与混杂模式如何区分?它们有何意义?
-
HTML5有哪些新特性、移除了哪些元素?
-
你做的网页在哪些浏览器测试过,这些浏览器的内核分别是什么?
-
每个HTML文件里开头都有个很重要的东西,Doctype,知道这是干什么的吗?
-
说说你对HTML5认识?(是什么,为什么)
-
对WEB标准以及W3C的理解与认识?
-
HTML全局属性(global attribute)有哪些?
-
说说超链接target属性的取值和作用?
-
iframe有那些缺点?
-
Label的作用是什么,是怎么用的?
-
如何实现浏览器内多个标签页之间的通信?
-
谈谈你对canvas的理解?
-
…
![]()
-
解释一下CSS的盒子模型?
-
请你说说CSS选择器的类型有哪些,并举几个例子说明其用法?
-
请你说说CSS有什么特殊性?(优先级、计算特殊值)
-
常见浏览器兼容性问题与解决方案?
-
列出display的值并说明他们的作用?
-
如何居中div, 如何居中一个浮动元素?
-
请列举几种清除浮动的方法(至少两种)?
-
block,inline和inlinke-block细节对比?
-
什么叫优雅降级和渐进增强?
-
说说浮动元素会引起的问题和你的解决办法
-
你有哪些性能优化的方法?
-
为什么要初始化CSS样式?
-
CSS样式表根据所在网页的位置,可分为哪几种样式表?
-
请你说说em与rem的区别?
-
…
![]()
-
js的各种位置,比如clientHeight,scrollHeight,offsetHeight ,以及scrollTop, offsetTop,clientTop的区别?
-
js拖拽功能的实现
-
异步加载js的方法
-
js的防抖与节流
-
说一下闭包
-
说说你对作用域链的理解
-
JavaScript原型,原型链 ? 有什么特点?
-
请解释什么是事件委托/事件代理
-
Javascript如何实现继承?
-
函数执行改变this
-
babel编译原理
-
函数柯里化
-
说一下类的创建和继承
-
说说前端中的事件流
-
如何让事件先冒泡后捕获
-
说一下图片的懒加载和预加载
-
js的new操作符做了哪些事情
-
改变函数内部this指针的指向函数(bind,apply,call的区别)
-
Ajax解决浏览器缓存问题
-
…
![]()
由于篇幅有限,只能分享部分面试题,完整版面试题及答案可以【点击我】阅读下载哦~无偿分享给大家
-
Vue中 key 值的作用
-
Vue 组件中 data 为什么必须是函数?
-
vuex的State特性是?
-
介绍一下Vue的响应式系统
-
computed与watch的区别
-
介绍一下Vue的生命周期
-
为什么组件的data必须是一个函数
-
组件之间是怎么通信的
-
Vue.cli中怎样使用自定义的组件?有遇到过哪些问题吗?
-
Vue如何实现按需加载配合webpack设置
-
简单描述每个周期具体适合哪些场景
-
scss是什么?在Vue.cli中的安装使用步骤是?有哪几大特性?
-
聊聊你对Vue.js的template编译的理解?
-
Vue 路由跳转的几种方式
-
Vue如何实现按需加载配合webpack设置?
-
Vue的路由实现:hash模式和history模式
-
Vue与Angular以及React的区别?
-
Vue路由的钩子函数
-
什么是Vue的计算属性?
-
…
![]()
-
介绍一下react
-
React单项数据流
-
react生命周期函数和react组件的生命周期
-
react和Vue的原理,区别,亮点,作用
-
reactJs的组件交流
-
有了解过react的虚拟DOM吗,虚拟DOM是怎么对比的呢
-
项目里用到了react,为什么要选择react,react有哪些好处
-
怎么获取真正的dom
-
选择react的原因
-
react的生命周期函数
-
setState之后的流程
-
react高阶组件知道吗?
-
React的jsx,函数式编程
-
react的组件是通过什么去判断是否刷新的
-
如何配置React-Router
-
路由的动态加载模块
-
Redux中间件是什么东西,接受几个参数
-
redux请求中间件如何处理并发
![]()
-
跨标签页通讯
-
浏览器架构
-
浏览器下事件循环(Event Loop)
-
从输入 url 到展示的过程
-
重绘与回流
-
存储
-
Web Worker
-
V8垃圾回收机制
-
内存泄露
-
reflow(回流)和repaint(重绘)优化
-
如何减少重绘和回流?
-
一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
-
localStorage 与 sessionStorage 与cookie的区别总结
-
http多路复用
-
cookie可设置哪些属性?
-
正向代理和反向代理
评论记录:
回复评论: