腾讯杭州移动宝团队面试记录

离职后,专心开发项目和学习新技术,不打算找工作,但是有个猎头效率太高了,直接就给联系好了腾讯杭州移动宝团队,十几分钟后,团队的招聘负责人就电话过来了,我完全没有做任何准备,全当是一次技术讨论吧,总体过程双方第一次接触,有些问题没有深入的聊,还算是比较顺畅。

如下记录下电话面试的问题和我的回复:

1. 你们团队的规模?

四年前不足十个,现在几十个人吧,分北京杭州两地。

2. 你是 leader 么,或者组长?

哦,我只是个普通的前端。

3. 听说你们公司是用 kissy 框架的,你有用过么?

嗯,前两年有在用,现在用的少了。(这里我太谦虚了,我从 kissy 1.0.0 版本一口气用到 1.4.0,其实用的很熟练了)

4. 可以问你在公司的职级么?

职级?哦,你是说技术评级对么,就像腾讯的 T, 我是 p5。

5. 我问一些框架性的问题哦,你有用过 seajs 么?

嗯,有用过,其实我们是 seajs 的老用户,从 1.0 版本就开始用了。

6. 那么你们用 seajs 是怎样打包的啊?

说起来都是泪,用 spm 打包,但这个比较坑,现在新推出了 spm 3.0 版,这个还在试用,貌似是不错。

7. 看你简历都是做些活动页面,问下优化一个站点的话,比如加载 5 6 秒,我想提速到 3 秒,应该如何入手?

(这是个好问题啊,可大可小,可深可浅,可前可后,但是这么好的问题被我糟蹋了,我总是脑海中一大堆一大堆各种场景下的优化方案,这里讲的有点乱),这里和面试官讨价还价若干,看优化是后台的还是前台的,站点还是单一页面,首屏的还是全屏的,最后我提议是 对用户体验有效果的是第一屏的加载速度,所以基于这个第一屏做文章,首先是常规的 css/js 打包,以及引入位置压后,然后就是 icons 的适当合并,图片体积的减小,最后看第一屏的数据是后台吐出的还是异步加载的,尽可能保证重要的内容先吐出来,其他的比如 tab 切换里面的数据就异步的去获取,再展现,首屏之外的其他各屏也都尽可能延迟加载。

8. 跨域方案你了解么?

我自己熟悉的是 jsonp,其他的方案确实没怎么实战过。

9. 跨域方案,比如 jsonp 中的安全性你考虑过么?

这个在 jsonp 中其实很常见,会容易出错误,如果一开始和开发团队同步一些常见问题及处理方式后,都能有效避免(其实说的就是 callback 的这货)

10. xss 你了解么?

嗯,有个很简单的例子,就是你从 url 里获取了一个参数,不加以任何处理,就赋值或者拼接到了该页面里面 iframe 上的 src 里面,这时候就可能造成这种隐患。

11. 那如何避免呢?

一定搞清楚为什么传这个参数,他的几种值分别是什么,做好参数处理和校验后,再做拼接。

12. 浏览器的兼容性你如何做的?

我这里 11 年以前需要兼容 IE 6/7 这些,当时除了常见的 兼容性问题,比如 IE 6 双边距,这些常见的,不知道的就直接 google 或者看博客,有些诡异的,比如安全方面的,操作 dom 节点导致页面挂掉,可能就得在测试机里面反复测试。现在呢,我们是保证 IE 67 的可用性,没有重大的错位之类,就不管它了。

13. 你们一个发布流程是怎样的?

不同的业务场景,往往是完全不同的发布流程,比如一个简单站点,活动页面,那么自己本地跑个脚本,或者 grunt 跑一下,css/js 打包压缩合并搞定就传服务器了,有些后台的,可能要在 java/php 的项目静态目录下开发,还要集成他们本地服务的环境,现在呢,各大公司应该都有一些内部比如 gitlab 的平台,放置好一些钩子,你每次分支的 push 都会触发钩子的一些行为,比如分析你代码的依赖,在服务器端进行打包合并的工作。所以是没有完美的发布流程,只有对某个场景最适合的方式。

14. 刚才你提到了 grunt,那么问下,grunt 你熟悉的比如打包压缩的模块?

比如 ugilify, cssmin,如果用 node 的话,可能还有 jade 什么一堆乱七八糟的东西(我居然用了乱七八糟这个词)。

15. css 和 js 的模块化你怎样做的?

js 的话,多人协作会采用 seajs 进行模块的协作开发,css 的话,对于比如后台的页面,可以抽象成一个个组件,比如 button 啊,对于一些简单页面,就没必要做复杂的抽象(其实这个也是好问题,能很好的考察大规模编程中如何有序的协作,或者如何有效率有质量的迭代开发,不过我一下子也没想那么多)

16. 浏览器兼容性中,css hack 你写过么?下划线是针对哪个浏览器的?

从那个年代过来的人都写过 css hack 吧,下滑线不就是针对那个挫逼的 IE6 么,哈哈,这里面试官也逗笑了。

能记起来的就这些问题吧,面试官其实有机会对我进行更深层次更全面的挖掘,我呢也其实可以更详尽更针对性的展示自己的技能,不过电话面试也许就只能面到这个程度了吧。

对自己总结如下:这些方面大部分都很熟悉,不必过于谦虚,可以和面试官更深入的探讨,互相学习。

算是 6 月份一个小插曲吧。

腾讯杭州移动宝团队面试记录

相关文章:

你感兴趣的文章:

标签云: