继续分享我整理了 5 年的面试题
移动开发: https://www.jianshu.com/p/afbec9ae84e7
另外附上课程链接: https://www.3mooc.com/front/learning/routesecond?subjectid=1232
1, 对前端工程师这个职位是怎么样理解的? 它的前景会怎么样?
前端是最贴近用户的程序员, 比后端, 数据库, 产品经理, 运营, 安全都近.
1, 实现界面交互
2, 提升用户体验
3, 有了 Node.JS, 前端可以实现服务端的一些事情
前端是最贴近用户的程序员, 前端的能力就是能让产品从 90 分进化到 100 分, 甚至更好,
参与项目, 快速高质量完成实现效果图, 精确到 1px;
与团队成员, UI 设计, 产品经理的沟通;
做好的页面结构, 页面重构和用户体验;
处理 hack, 兼容, 写出优美的代码格式;
针对服务器的优化, 拥抱最新前端技术.
从我短暂的前端开发之路的过程中来看, 前端开发的发展越来越贴近「传统」的后端程序员, 也许在未来的某个时间点上, 前端和后端的隔阂将彻底的被打破, 浏览器上的「工匠」将统称为 web 开发者.
2, 平时如何管理你的项目?
先期团队必须确定好全局样式 (globe.CSS), 编码模式 (utf-8) 等;
编写习惯必须一致 (例如都是采用继承式的写法, 单样式都写成一行);
标注样式编写人, 各模块都及时标注 (标注关键样式调用的地方);
页面进行标注 (例如 页面 模块 开始和结束);
CSS 跟 HTML 分文件夹并行存放, 命名都得统一 (例如 style.CSS);
JS 分文件夹存放 命名以该 JS 功能为准的英文翻译.
图片采用整合的 images.PNG png8 格式文件使用 尽量整合在一起使用方便将来的管理
3, 当团队人手不足, 把功能代码写完已经需要加班的情况下, 你会做前端代码的测试吗
会, 一般都是先开法功能做好了之后会粗略的测试一下, 有一些小问题的话能改就马上改了, 大问题的话, 我可能心情立马降到 0 点没什么心情改, 就先放下第二天在改
4, 说说最近最流行的一些东西吧? 常去哪些网站?
ES6\WebAssembly\Node\MVVM\Web Components\React\React Native\Webpack 组件化
5, 知道什么是 SEO 并且怎么优化么? 知道各种 meta data 的含义么?
合理的 title,description,keywords: 搜索对着三项的权重逐个减小, title 值强调重点即可, 重要关键词出现不要超过 2 次, 而且要靠前, 不同页面 title 要有所不同; description 把页面内容高度概括, 长度合适, 不可过分堆砌关键词, 不同页面 description 有所不同; keywords 列举出重要关键词即可
语义化的 HTML 代码, 符合 W3C 规范: 语义化代码让搜索引擎容易理解网页
重要内容 HTML 代码放在最前: 搜索引擎抓取 HTML 顺序是从上到下, 有的搜索引擎对抓取长度有限制, 保证重要内容一定会被抓取
重要内容不要用 JS 输出: 爬虫不会执行 JS 获取内容
少用 iframe: 搜索引擎不会抓取 iframe 中的内容
非装饰性图片必须加 alt
提高网站速度: 网站速度是搜索引擎排序的一个重要指标
6, 你在现在的团队处于什么样的角色, 起到了什么明显的作用?
在之前的企业我觉得我是处于一个路由器的作用, 在公司里面得和产品沟通 (功能的合理性), 设计沟通 (页面效果实现), 后台沟通 (数据逻辑如何实现更加简单), 测试还的沟通 (很多测试会把浏览器的 bug 都给测试出来...)
7, 你认为怎样才是全端工程师 (Full Stack developer)?
我对全端工程师的定义是: 掌握多种技能, 并能利用多种技能独立完成产品的人
会后端, 会前端, 会安卓, 会 iOS, 还懂得设计交互, 能一个人干 3-5 个人的活, 而且比这 3-5 个干的好
8, 项目中遇到国哪些印象深刻的技术难题, 具体是什么问题, 怎么解决?.
这个问题很常见, 有没有遇到过很不常见的问题? 比如在网上根本搜不到解决方法的?
9, 如何管理前端团队?
在管理前端团队方面的话我还没有一定的经验, 我说一下我的见解吧
首先明确团队中每个人负责的模块 (根据个人技术水平来分话)
明确产品前端技术负责人 (他负责 pc, 他负责移动)
最重要的就是提升前端团队的技术水平 (定期分享前端技术, 大家共同进步)
10, 前端和后端程序员应该如何合作?
在之前公司里, 前后端在开发和调试过程中的交流比跟家里的媳妇儿交流的还要多
我已经经历过的开发过程中, 前后端的配合和讨论多集中于:
数据交换时的约定
什么样的逻辑可以拿到前端进行处理, 在安全可靠健壮的同时减少服务器端的压力.
数据交换方式 (JSON, 字符串, 跳转页面时的参数传递等)
来源: http://www.jianshu.com/p/a8d4ff5c868c