本来不准备发的,可是看着自己写了半年的面经,不发呢就让他烂在电脑里,发的话呢,又给各位大佬献丑,后来觉得还是可惜,那还是发吧。
大学四年,方向都是不固定,身边大部分人思想放不开,永远想着专业对口, 又放任自己,我显得不合群。大一想创业,后来发现家里没经商背景没经验,0社会经验创业这是扯淡。大二做了数学建模,开始做得好好的,拿下很多奖,最后队友居然弃坑,然而后期大家都是已经组好队,是找不到3个人组成一个队的了,又放弃了。大三开始做游戏策划,做了几个月又经历了秋招,结果发现自己真心的并不是喜欢做策划,最后还是做回了前端,现在美滋滋的。
本文有前端、游戏策划的面经,可以选择性地看,也可以直接跳到后面看鸡汤。
自学半年的非科班菜鸡,从游戏策划转行前端,一路过来也许有点顺利,遇到一些不错的人,不过也踩了很多坑。非科班的,又要另外补算法数据结构、计算机网络、操作系统,再刷个牛客网,差不多了。
先做一小时题目,然后来了一个很帅的人来面试,讨论了题目
1.讲一下闭包
2.promise版本的ajax
3.怎么学前端,一般去哪里看文章
4.盒子模型
1.看见你会canvas,怎么做的(面向对象、绘制、清除、动画帧)
2.webpack讲讲(loader、pugin、entry、output方面)
3.node错误处理(demo党,讲得比较僵)
4.浏览器从url到页面的过程
5.很多js,要怎么加载(按需加载、动态异步加载,AMD)
6.浏览器页面渲染详细过程
7.node爬虫需要注意什么(操作字符串dom、异步顺序)
1.为什么你手写代码就没那么顺手了(编码能力不够扎实,以后会改)
2.说说你家的情况
3.你是不是大家的骄傲
4.大概什么时候来上班
5.我担心你可能觉得一些工作容易而不认真,不能沉下心来
1.怎么学前端
2.jQuery和vue对比
3.webpack的了解,整个流程,插件开发,loader开发
4.性能优化,页面过度渲染怎么办
5.http状态码、缓存
1.vue 整个流程,双绑,complier,htmlparser,render函数
2.开发的流程,从构建、接口、前后端、数据表、ui还原、中间层角度都问一遍
3.css布局,从两列到多列到低版本ie过一遍
4.原形链、闭包、作用域
5.我们正在做一个游戏平台,迭代更新,你觉得平时开发需要做点什么和注意什么细节
1.为什么选择我们
2.对网易有什么看法
3.有玩过什么游戏
4.你觉得乱斗西游怎样,你当初为什么弃坑,你带领的帮派为什么平民玩家都能占排行榜前面
5.加班的问题
1.最自豪的项目?遇到的难点?做了多久(新手的时候,慕课网的加强版个人demo搬出来了,vue1变换到2踩的坑,求稳就说了这个,说做了一个月)难道这点就自豪?(其实我3天做完毕设,但是在熟悉的情况下做出来的我不自豪)
2.最自豪的事情?(公司一天速成ng并能够按时或者提前完成任务)
3.前端工程化以及介绍(webpack、gulp、grunt。对了给你介绍一个好东西,dva)
4.webpack和gulp区别(模块化与流的区别)
5.dom是什么,你的理解?(...)
6.关于dom的api有什么(...)
7.css预处理器有什么,擅长哪个?(less)
8.说一下less(嵌套、组合、组合爆炸、运算、变量、混合)
9.post和get区别(...)
10.我看见你写了一个js库,说一下有什么?(封装了es6一些方法原生实现、一些设计模式、常规操作)
11.看过什么书?(红书、犀牛、css权威、css世界)
12.有没有一页一页看?(重复看的只有红书)
多益的比较看重经历,技术问题都简单。而且只有一个视频面就定结果。这一天实在是曲折的经历。首先收到了cvte的面试通知,预约下午6点。今天下午坐车过去的时候,突然一个hr打电话来说,预约4点面试,我就奇怪了,我说我昨天预约6点,然后叫我加面试官qq视频面。我说我就在坐车去你公司,你想我现场面还是视频面,去和他们说清楚,好像对方和我也牛头不搭马嘴的。后来说视频面试,叫我加面试官qq,一加发现,多益面试官!然而我已经下车准备跑回宿舍!
cvte原先约6点,多益的通知就是突然来的hr短信叫我4点面试(没有注明公司,看见短信的时候我以为是cvte),接着发生了这一幕,双方懵逼,直到加qq我才知道一切
(50分钟)
1.怎么学习前端->其中说了社区互相交流->那你有没有参与社区网站的开发和开源项目(没有,我只是在MDN贡献了一点)
2.公司的后端是node中间层,再发到java吗?(直接node的egg框架)那你有搞过这个项目的后端吗?(开一个接口给我自己测试)
3.怎么cors跨域跨域cors的cookie设置,安全性,接下一题(那个地址设置成我们自己那个,'Allow-creadentials'true,)
4.公司的后台对cookie的处理、xss、csrf(我只是说了过滤、反转义、httponly)
5.cookie在多个页面的通信,有效和过期的区别( 单机党这就开始悲剧,反正只说了setcookie和getcookie方法,expire、登录拦截)
6.nginx反代熟悉吗(用过)
7.vuex数据流的理解(把流程图背一遍,然后用原生vue+storage和vuex做比较)
8.vue双向绑定原理(observer,watcher,complier,MV->(文档片段节点劫持)->VM(defineproperty的set和get)->MV(观察者模式,第二阶段导致变化,发布信息publish))
9.promise实现(先try运行一次excute,出错reject,然后then方法给this添加成功和失败的回调,并再返回另一个promise,其他api全是基于then)
10.你擅长什么方面,为什么不去搞算法(因为前端有webrtc、然后到webar,需要很强数学基础,新技术又有pwa、webassembly、css houdini,node又让前端涵盖面更加广)
11.手撕assign的深拷贝(太急不审题、递归拷贝得太深,事后我和他都吐槽)mac电脑的键有点不一样,出丑了一分钟。男面试官:其实这个题目挺有意思,每个人都有不同的方法,而且处理不同的数据类型,以及不同的递归深度控制(早知道我看看的深拷了,我觉得最完美的深拷是lodash源码但是只是mark没有看)从此以后,谁和我讲深拷,我就写一个兼顾n种类型、原形链和环引用的完整版给他
其实,他们是要我手撕jQuery的extend,还是我自己太急不审题,快要做完的时候发现,人家给的参数是:
类似这样子deepClone({a:1},{b:2,c:{d:'hello cvte'}}),就是要我实现es6的assign和jQuery的extend嘛,我居然,然后又被引出了数据类型的问题
cvte比较看重的是node中间层、http那块,react技术栈。我擅长的设计模式、手撕源码都没有具体问到,而且是我自己引开的话题,又被他带回来http这块,然后我答的比较普通,然后他给我科普,难受。多益这波,我中途跑回去是有点冲动了,其实白跑了,在车上也可以视频面试,然后cvte又迟到又气喘吁吁地排队,刚刚好是最后一个,心都没有定下来。
(30分钟)
1.CSS怎么实现倒三角形、怎么实现(border,大家都懂的)
2.学了多少计算机相关的课本(我们专业只讲c语言、计算机网络两三章书)
3.数据库除了你所说的CURD, 你还了解多少(mongodb关联查询),要是存放用户地址信息怎么存(对象形式,获取经纬度)
4.VUE双绑(这个比较熟悉),如果我们有三个v-model绑同一个变量,想其中一个不绑怎么办(v-once)
5.dom加载过程(背书),对于你的首页直出、SSR,首页性能测试,怎么测试时间(分情况讨论new Date的时机,再求差,回去才发现too young。performance那里还有很多学问的)
6.事件冒泡(背书)
7.b树、b+树、红黑树(不会)
8.微信开发了解吗(了解不多,类似vue,一般用内网穿透调试)
9.你项目的难点(实现websocket+iframe+localstorage组成的实时聊天系统,可以不同源实现websocket,顺便吐槽了一下网上一堆shell版本的聊天室)
10.如何统计全国单身女性(开放题)
当然是挂的,树没有答出来、数据库也不太熟悉
1.看github,问快排
2.如果我第一次不交换会怎样
3.如果是奇数次不交换会怎样,复杂度呢,稳定不
4.为什么是nlogn
5.链表相交点
6.多线程、死锁、竞争、安全(说webworker,他说不讲这个,叫我从操作系统底层讲)
操作系统不熟,他后来说他是安卓的,不懂我们这些,所以我想写代码他叫我不用写,想说webworker也不给我继续说。
看见隔壁桌的聊前端聊得飞起,我是不服的,没办法,刚刚好这问题对于非科班的我没办法,实力不够运气也不够
先做一份题,也是那些this、闭包、作用域,有坑容易挂,所以很多人说凡科是商业宣传,其实进笔试题的坑了。那个题大概是绑定3个事件,用了dom0到dom2,还有用了call、中间嵌套了n层函数
是一个同事,先讨论做的笔试题一大阵。
1.visibility:hidden、opacity:0;display:none区别(占位、绑定事件、会不会渲染、会不会绘制,这个自己试吧)
2.canvas写字怎么写(touchstart开始,touchmove计算这次和上次鼠标坐标差绘制,touchend防止跳线设置null)
3.数组去重几种方法、性能(set、indexof、字典)对象查找是最快的,当然是用一个对象缓存,还有一个操作加分了:Obeject.create(null),这样子for in就好很多
4.扯到了我对深拷贝的研究,常见的对象类型和环引用,100多行代码,(装逼成功)
5.web里面嵌入自己的字体(font文件),这个不了解,不过他们部门是干这个的(路过的有知道的可以讲讲)
是部门的boss,人特别好、大块头、络腮胡子
1.event loop(同步有宏任务、nexttick、微任务,异步有6个阶段)
2.浏览器渲染、加载(常规操作,然后列举async、defer带来的结果)
3.性能优化、pwa(service worker)
4.说说houdini(我自己讲的,装逼成功)
5.canvas画图(面向对象、清理画布、绘制、碰撞检测)
6.防抖节流、懒加载、预加载(基本操作,都要了解)
7.谈人生、谈待遇
回去后马上看见github多了一个星星,掘金也被人关注了。虽然一直都比较冷清。
1.现在在哪里?大学学了什么和编程相关的?什么科目对你影响最大?(学校教过两三章c语言,所以学js也快了)
2.数据结构有哪些?红黑树、链表?为什么用他们,他们有什么用(举了一个查找的例子)
3.js和c的对比(表示c了解不多,列举了强类型和弱类型的区别)那js快还是c快(当然是c,js底层也是c)
4.es6的新特性,let和var的区别(let解耦声明和初始化阶段,块级作用域)
5.看见你的页面加载 1.8秒,是快还是慢,怎么看性能(看见人家的网站是这个速度,我觉得这个算是及格线了。peformance)
6.那首屏加载怎么快呢(ssr、利用缓存)
7.cookie、localstorage、sessionstorage区别(大家都知道的)
8.get和post区别(数据包、传输大小、安全性、副作用、传输方式不同)
9.visibility:hidden、opacity:0;display:none区别(占位、绑定事件、会不会渲染、会不会绘制,这个自己试吧)
10.严格模式(不能变量提升,不能重复声明)那我这样子不就是不爽了吗?(项目大了,这样子很有问题,导致项目的命名存在问题。另外说到
了垃圾回收,全局变量写得多,越不能垃圾回收,尤其是node上,长期不关机,内存就爆)
老板是腾讯前400人之一,里面很多前腾讯的人,实力很强,应该接下来会招人,公司准备搬到腾讯那边
1.js基本数据类型
2.闭包、内存泄漏、垃圾回收算法(闭包概念,用于柯里化、缓存、模块化,导致内存泄漏。垃圾回收有新生代的scavenge和老生代的标记清除)
3.js的原形链、继承,es6的class(本来举例子的,他说不用讲那么多,叫我简单讲怎么继承)
4.移动端了解吗(不)移动端有一个xxx(马上打断,我知道,点透问题),点透怎么解决(zepto的tap,用一个div去挡)。
5.浏览器缓存一套(强制缓存、协商缓存、应用缓存)。url到页面的过程。js、css阻塞页面那些问题,异步加载js(async、defer、动态创建)
6.跨域,同一个一级域名不同二级域名低成本跨域(jsonp、iframe桥接)
7.两个网站的js低成本跨域(iframe)
8.完全的跨域,加上后台的(node转发、jsonp、cors)
9.用vue是吧,说一下虚拟dom
10.说一下vuex(复杂关系的组件,统一的状态管理),再说一下单向数据流(类比react的state),那我子父组件通信呢(事件总线)
11.css布局(除了flex、grid还有吗,我说常用就这两个)那么不兼容呢(用回position、float那些,顺便说一下bfc、ifc)
12.你是怎么学习的,你对你自己的评估怎样,职业规划,为什么不满足你的公司
13.xss、csrf,防御措施
14.说一下pwa(server worker,离线或网速慢的情况下正常运行,依靠本地缓存)
15.评价三大框架(针对ng1的di思想、vue的彻底双绑以及学习成本低、react的数据流,虚拟dom)
16.为什么虚拟dom就快了呢(转化为js数据结构,最小化dom操作,最后render插入)
体验很好,会提前打电话叫我准备一下。移动端比较菜,tap怎么实现没有看,css也比较菜,问题是答上来了但不够好
1.事件模型,事件委托
2.闭包、内存泄漏、浏览器查内存泄漏的方法
3.document.fragement,重绘、重排
4.如果有操作需要频繁重绘,css重绘优化(GPU加速、节流)
5.面向对象、ES6实现面向对象、promise
6.vue原理
7.跨域(特地把iframe随便带过:还有iframe那套),那iframe父子窗口怎么通信(刚刚好这几天博客写这个)
8.nginx相关、webpack、gulp,有自己写过吗
9.vue ssr,vue如何做多页面应用,知道webpack能配这个吗
10.pwa
11.用node干了什么,mvc+模板引擎,多页面应用
12.项目遇到的难点
13.动画处理,怎么优化,动画卡了怎么办
14.xss、防御措施
陪着他们一起下班,挺好的氛围,第一次感觉到上班像玩游戏一样,时间一下就到晚上11点。
还是常规,笔试再面试,不同的是接着就是漫长的电脑操作。
笔试:写一个函数,给dom加遮罩层、文章里面出现频率最高的、正则匹配属于qq.com的、插入1000个li、手写观察者模式、大数相加
看起来都简单,不过你要是无脑做是必死的,追求极致解和考虑所有的情况以及效率,眼高手低的人在这里是死定的
1.继承、类,对类的静态、私有、共有什么看法
2.事件模型、重绘重排
3.http2相关
4.说刚刚做的题,文章最高频率单词那道题,考虑多个结果的优化
5.为什么requestAnimationFrame在插入li那道题是一种优化
6.跨域、哈希值你的应用场景、刷新了怎么办
7.大数相加,考虑到9999那种情况,当场写得代码比较冗余
电脑操作:
1.两个盒子,一个盒子能拖动,拖到另一个盒子里面就变色。这里考到事件委托了。不能用drag事件
2.防抖节流、深拷贝
一不小心11点多,面试我的那个人打车,接着坐了一个顺风车,留下了微信
1.聊人生
2.项目的难题,现在重复写一遍(border-radius用canvas实现,而且缩放不能是椭圆,其中一个角还要有阴影。用到微积分)
3.三列布局,想表现自己,挑了圣杯布局来写,而且没写好
4.大数相加,因为上次没写好,这次写了一个厉害很多的版本
5.实现一个像百度那样子的搜索框
6.webpack自己写过插件吗?没。计算机网络了解不,协商缓存、强制缓存
7.时针和分针在5点15分和7点45分的夹角
每一题都是10分钟,我想表现自己圣杯没写好,对方说怎么好像你布局不熟啊,在这里乱来试,你面试也不少了,怎么能这样子试的。最后时针分针的,我第一次答对了没听清楚他念了几句什么话,以为自己错了。第二次,他问我变个时间有那么难?我说感觉有坑,你刚刚说我错。“我没说你错啊”
又说到布局,问我有flex,有很多方法,怎么用那么老的。我想表现一下我的实力,我css好菜。“还是取决于的价值取向,这就是你所谓的成就感?也不菜啊,还可以的,没说你菜”
1.聊人生
2.写快排。10分钟,完美版本,无错误。
“看看哪里错了?为什么要用草稿本,难道自己写的代码不能看出错误来?”
“还有什么可以优化的吗?”
“执行效率上还有问题吗?”
经过中间n多改进与纠缠。。。留下qq继续战。
又战了两三天,最后结果,左中右3管齐下的快排+中间基准值,测试5000个数4000个重复的情况,结果比数组sort方法还要快。兼顾到数组元素的特性以及长度。我那边还要继续准备毕设。
1.了解前后端交互吗(restful的api)那怎么传数据(跨域、不跨域情况)跨域怎么跨(cors、jsonp)
2.那jsonp原理呢,返回数据格式呢,手写
3.了解js的自定义事件吗。(有一个api的,我忘记了,然后定义了能用eventlistener监听,类似于发布订阅者模式)
4.那写一个发布订阅者模式(成功把他引入我熟悉的坑)
5.非计算机的,那计算机了解吗,tcp3次握手,如何将一个数转16进制,16进制的数是什么样的
6.看来你还是有了解的,那再问你堆和栈(常量池存基本类型、栈存变量和指针、堆存复杂类型)那我平时改一个引用类型,另一个也变了怎么办(问到这里他还没说完,突然窃喜,果断把我的深拷贝的各种类型研究说一遍以及环引用解决讲出来,他介绍我研究一下lodash、immulable源码,我说immulable才是最完美的,不完全深拷贝。然后对方说我对这方面研究很深)
7.浏览器缓存
8.写个函数判断是不是回文序列
9.看见你博客,挺有个人独特见解的,你怎么学前端的
刚刚吃完饭,hr打电话叫我面试,还以为是另一个公司,我们双方不明不白地尴尬了一阵(突然想起了多益和CVTE那次尴尬)。我说发链接给我邮箱就行。hr:还是那个链接,现在马上面试,面试官在等你了,于是匆匆忙忙打开电脑继续
1.给一个节点树,ul里面可能有ul和li,但li就不会有东西了,判断数的高度(我用的是bfs,不过出了一点问题,面试官叫我用递归试一下。递归解法类似剑指offer的二叉树深度,只是for in 循环整个ul取最大值)
2.用vue是吧,说一下响应式数据原理(balabla)
3.用过slot吗(类似于模态框,可能有警告、提示、成功不同类型,我们只需要做个内容分发避免了写多个组件)
4.cookie、localstorage、sessionstorage区别(大家都知道的)
5.es6的新特性,let和var的区别(let解耦声明和初始化阶段,块级作用域)
6.那好,我const obj = {a: 1};obj.a = 2;这样子会不会报错(基础问题)
7.发散题,怎么判断一个数是不是2的n次方。我写了辗转相除、递归、toString2。然后他说,我能做到O(1)。我说那就是字典了,他说我不用字典的。
n&n-1===0
体验史上最好,没有之一。简直就是当你是同事、朋友一样,拿着摄像头说,看,这里是我的办公室,这里是xxx,这里是xx,你上北京的话,我们可以一起挑战一下新技术。我说怎么没人呢,他说现在是中午,大家在趴桌子,现在要继续上班了。我这里呢有tob和toc的,toc的pc端对性能要求高一点。那么要兼容ie6吗。不用,没什么用户了(此处手动滑稽)
8.有什么公司offer
面完俩面睡会觉,突然hr小姐姐又打电话过来了,说等下hr面,叫我准备一下。后来,是招聘的总监,不是小姐姐
1.通过前面俩轮,技术还是过关的,能来到我这里的人不多,说一下你的体验(史上最好,没有之一)
2.你为什么选择我们(社会的热点、boss是大牛)
3.你实习过吧,讲一下之前的经历
4.抛开你的公司和快手,你认为什么样的才是好的工作
5.说一下大学经历。我看见你有数学建模拿奖,说一下(再叙陈年旧事)
6.对于北快手、南抖音怎么看(从用户群体、用户管理、用户喜好分析)
7.周围的人说快手xx,或者抖音xx,快手不如抖音你怎么办(辩证思维,不存在绝对)
8.前面面试官给你说过要干什么吗(b端、c端的广告投放)
看,后面是我们的书架,刚刚找了很久,终于找到一个地方了,这里是留给未来的新人放书籍资料的。
不得不说,面试体验真好
1.52张牌去掉大小王,分成26*2两堆,从其中一堆取4张牌为4个a的概率
2.3个人分100个金币,第一个人先提出方案,超过半数不同意要死,如果没问题继续下一个人重复步骤,怎么使得第一个人拿到最多
无心插柳柳成荫的面试,我不准备去北京的,本来想随便玩玩的,然后随便丢了旧的简历过去,接着是超棒的面试体验,突然觉得有点对不起他们
1.怎么学前端,学多久
2.react生命周期,单向数据流
3.vue源码,双向绑定,render、component、mount原理和优先级
4.webpack的spa,为什么选择spa,前端路由原理
5.多页面,glob模块,多页面+单页面
6.父子组件、子孙组件、兄弟组件、无关系组件传值
7.跨域,jsonp原理,内存泄漏,隐形循环引用
8.虚拟dom,domdiff
9.开发环境,docker容器
10.electron相关
11.pwa,service worker,webworker
12.产品迭代更新相关
13.css垂直居中
14.BFC相关
15.node中间层,转发,负载均衡,nginx
16.变量提升的原理
17.es6新特性,用过哪些,原理是什么
18.三大框架的对比
去公司见老大,对我上次面试特别满意,所以直接谈公司和福利了
1.什么时候入职
2.有没有女朋友
3.准备在深圳发展吗,为什么选择我们,你对技术栈的要求
4.你高中的数学成绩是不是非常好(没错,一般140)
5.那你物理也很好(没错,一般差不多满分)
6.你偏科很严重(当然)
1.你为什么选择我们
2.你对技术的追求,你认为什么才是你满意的技术栈
3.你身边的人是怎样的,怎么评价你的
4.你怎么学习前端
1.你的vue商城项目具体结构,逻辑
2.所用到vue全家桶的技术,具体举几个例子
3.那vue-router怎么实现的
4.为什么需要vuex,他是做什么的
5.登录为什么选择session+cookie而不是token
6.pm2、log4js项目用过吗(没有,但是demo玩过),那你觉得他们的作用是什么
7.产品迭代更新注意点、如何设置埋点
8.讲一下懒加载和预加载
9.性能优化,http2,负载均衡
10.什么时候过来,见一下我们老板,再谈一下
太长远,很多小问题想不起来了。
1.玩过什么游戏,RPG类的一般是什么套路
2.MMO类玩过吗(少),梦幻西游的世界观构建
3.魔兽地图金庸丛林肉搏移植到pc端游,怎么做
4.如果一个游戏是封闭式经济,某个区域通货膨怎么办
5.如果游戏出了bug当晚很多人刷了神装,我们怎么回档才能让大部分玩家满意
6.西方神话相关的场景,一个与牧师相对的职业技能属性文案背景设计
建议回去把梦幻、剑与家园认真玩一遍,把经典的MMO全都玩一遍,不要说SLG不喜欢就不玩,现在你可以来实习但是正式工我们给不了你
1.一个装备从掉落到背包的流程(结合了开发的思想回答,状态、接口)
2.十八般武艺,装备分类
3.如果一个区,大vip工会统治全区,怎么办
4.游戏加班严重,怎么看
1.知道abc三件装备爆率,求收集完一套的次数的数学期望(马克洛夫状态转移矩阵)
2.两军战斗,战斗力m和n,战斗是直接碰撞的算法,求赢的一方的剩余人数(兰彻斯特作战模型)
3.一道推理题,就是谁喜欢吃什么打什么球和谁有什么关系那种,总的有7个人,推理出每一个人相关信息
1.看见你带了一份数值分析,那你讲一下
2.骑马与砍杀里面怎么拓展,可玩性如何增加,它的mod和魔兽的自定义地图的区别与联系
3.写一段文案,场景是未来的主角如何杀一个人,要求用上那堆关键词
4.一个概率论的题,忘记了,需要用微积分+不等式证明
1.游戏有很多是失败的喔,你为什么要做
2.游戏加班严重的,你怎么看
3.SLG类,如果要结合ARPG的元素该怎么结合
4.我们有四个职业,战士法师刺客骑士(特点你懂得),设计一个练级区使得每一个职业的专业练级区效率和花销差不多
5.如何压着人民币土豪玩家,而且让他不弃坑
6.设计一个转盘,使得价值合理(加权平均值)
问题是。设计一个意念游戏,确定类型,如何设置以及他的可玩性,技术难题是什么。
全组挂,明明在外面吹了半小时牛,自我介绍还要一万年,一个说改造王者荣耀,两个说沙盒(我也支持沙盒的,因为最强大脑里面有一个拼字的比赛项目),一个说GTA,一个说vr说得自嗨了,一个打酱油的抢总结,两个抢timer。不能说队友坑,我hold不住队友也是我实力不够,真正的策划肯定能轻松解决这些沟通问题,还是认命吧
1.你怎么做到利用植物大战僵尸2(手机版)的bug刷装备的,我还充了几百块
2.你觉得植物大战僵尸需要增加的模块,哪个模块做得不好
3.你用什么编程,为什么不用Python
4.你觉得守望先锋活跃玩家少的原因,如果要增加英雄你应该怎么设计
5.你说要增加装备系统,那怎么设计,如何和技术人员沟通(会编程的策划还是有用的)
6.游戏上线后发现bug,而此时是高峰期,怎么做才能使得玩家不生气并且修复bug
我觉得你还是会的,策划基础好,但是你没有奥数、国际比赛那些证明,你的数学能力我们还是不能认可(强行好人卡)。一个数学建模的奖,重于建模而我们暂时不太需要建模的。不过既然你会前端,可以考虑一下我们的前端岗。
对于游戏策划,建议好好刷游资网、GAD,好好看每一篇文章。数学上要会一点微积分、概率论,面对抽奖题就要想到加权平均值的角度,面对爆率就要想到排列组合和概率论,设计题就看个人了。记得增加游戏的广度而不是深度,很多人以为自己玩游戏多了就能做策划,其实只是一个堕落到玩游戏成瘾的,而且仅仅只是某个游戏,lol、王者、吃鸡?问王者哪个数值不平衡、怎么改、后期要黑箱测试怎么做,问世界观构建、游戏是n派还是l派、爆率题、技能设计题就懵了。也许能说出技能效果,但数值怎么设计才能合理,为什么要这样子设计,和哪个英雄冲突?又怎么讲?
就算自己不会做游戏不会写代码或者没有会写代码的大腿抱,也记得常写一下游戏demo,写成ppt也好,写成文档也好,用unity大概潦草做出都行。策划就是游戏中的产品经理,产品该做什么,策划也差不多做什么,只是策划针对的是游戏这个领域。但是,会一点编程,是大大增加竞争力的
最后,秋招的时候还是转前端了,闭关锁国,好好写代码,美滋滋。我还是不喜欢做策划,因为你的方案不一定被采纳,而且游戏产品失败的比较多,并且总是反推其他游戏(其实就是“借鉴”),很少公司想认真的研发真正的自己家的游戏,没想过做那种4A大作。我喜欢自创,所以js我做demo的时候全是用原生写的,自己造轮子自己写。只有做公司项目才用框架。
还有好几个不足150人的小公司前端offer,海投太多名字都忘了很多,中间很多公司面试当天忘记写面经就永远的遗漏了。这些算是当做一次锻炼自己的机会,交流技术查漏补缺。当然不是随便放个屁就跑了,无论怎么选择,都要拿着最好的态度去面对而不是看不起别人,无论你多厉害,也不会厉害到碾压整个公司。有的公司看我博客就直接开工资了,所以说想找好的前端,有发展前景的,当然是有难度的面试。面试什么难度和问题角度,发展前景如何,代表着工资多高、你能学到什么,这些自己心里也有一点x数的。别说那些什么前端要求贼高,现在前端要求什么都会真烦,前端饱和这种话,自己有多少实力,自己清楚,该拿多少,该去哪里。
别说什么虚报工作几年、面试怎么忽悠这些问题,至少,说得出这些话题的人,自己可能技术一般般或者比较菜,或者中了培训班的毒。现在前端圈一个是因为门槛低但学精难,造成没编程基础的人大量涌入,注重插件、用轮子、写页面,认为这就是前端。然后各种培训班讲的东西比较low,万年静态页面特效,jQuery+bootstrap,好一点的有过一遍vue文档做小项目,最后教怎么忽悠面试官,说什么包就业。可怕的是学生觉得666还满腔热情。大公司面试一层层流程,写两句代码,啥都看出来,忽悠谁啊。唬住50k,唬不住5k?不存在的。拉钩上面的3年以下,应届生大胆去投,很多公司其实都可以的,有实力完全不用计较什么工作经验,反而不怎么厉害的天天想各种歪路子抱一个侥幸心理。当然也别认不清自己去投5年经验以上的高级工程师或者架构师或者技术主管,大家都是学生,少扯些虚幻的。
见过50人以下、150人以下、300人以下、500人以下、2000人以上的各种规模的公司,无论哪里都会有特别厉害的人,所以别以为自己能高高在上,其实无论你多厉害也不会碾压全公司(毕业生要是能的话,那公司就可以说是...)。我和很多前端一样,开始是html、css、js,但是我下一步并不是jQuery+bootstrap,而是直接看jQuery源码(表示现在还不熟悉jQuery但是我用起来肯定没问题)。很多人沉浸在自己写的网页里面,认为这就是成功,再加上一个vue、react、webpack(有种学一下angular),认为自己已经拥有全世界,膨胀无比。就像一个阿里的面试官说的,你们前端一大堆学个vue就来面试。人家你原理,问webpack怎么写插件,叫现场写一道剑指offer的题,现场给你一个场景题写代码实现,然后很多人就挂了,回家吐槽:现在前端要求真tm高,啥都要会!去bat里面拿个贵宾卡呆个半天一天、或者和大佬相处一段时间,估计很多膨胀的人都会学乖了,都能好好沉下心来学了。
我初学也是看视频,腾讯课堂积分还换了几百块钱,然后进了很多前端群,后来发现视频和群已经满足不了我,于是自己开始捣鼓ECMA规范、看那几本大书、框架源码、原生写es6的新api、原生造各种仿造版轮子、看英文文档,发现只要基础学好,没有什么是做不出来的,看个文档一次就搞定,出错自己也能很快解决(一般就是版本坑、默认值没给上、手残)。另外,坚持写博客,学到的东西就马上输出,不过发布出来的博客比较少,个人有一点完美主义,觉得不满意或者不全面就不发。面试的时候,项目经验除了公司项目其他基本都是demo级别的,我直接承认实践经验不足。但是面试官看见我一手原生js,有时候还是对我眉开眼笑的,觉得还不错,问一下源码又答出来(虽然我现场撸不出来一段框架源码)。css也比较菜,写得少,只会原理,知道浏览器渲染的一个流程,然后用起来还是不能写出一个很漂亮完美健壮的ui组件。面试的时候,虽然css菜,不过问到原理好像都能答出来。
所以说,前端总是处于鄙视链底层,就是让一堆以为门槛低不注重原理的人搞的,有事了就问插件、问框架,那边又天天喊加班,工资低,后端坑,ui要求高,pm瞎提需求。那怎么我从来没见过?
后端坑,那去沟通一下,看看是谁的锅。是自己的赶紧处理,是他的你就争赢他。要是你天天用插件做特效写html,可能完全没有反抗能力(如果人家坏一点,从头到尾都欺负你菜、忽悠你,完全是没问题),别怪世态炎凉,只能说自己技不如人甘拜下风(dota2玩家路过)。
加班?那你加的是什么班,是做重复的工作还是研究新技术?重复写繁琐的样式、调插件的特效、写一万年的繁重业务逻辑,那就是加班,然后又没有抽出时间学其他东西,早就了工作几年一年经验的人大批出现。真的,做事不要死脑筋,人类的进步就是靠懒惰的智慧,有了电器、有了交通工具、有了电子设备……等等。既然公司写的业务繁重,那就自己准备一些轮子,或者写一些可复用的代码,写一套模板甚至写一个插件,完全没事。我呆过的公司,人家都可以在固定的地方让你扩展、造轮子的,也有的可以给源码扩展新的api,这些都不是问题。闷声写代码,天天做重复的事情,也不问一下老同事有没有什么字段可以利用,有没有什么方法可以扩展。这些都不能满足?这些都不能满足的公司,那就洗洗睡吧。
ui要求高?我只能说我css菜,但是我总是可以改回来,虽然可能有点吃力,但是回头看看自己第一次写的css,自己都看不下去吧,别说ui,先把自己打赢了再说,打赢了自己,ui基本就会喊666了。做后台系统的,b端的,内部系统的,用ui框架的,也许从来不用担心。hh,想做后台系统。唉,还是c端挑战性大一点。
pm瞎提需求?一个合格的pm,不会无理取闹的,而且你只要用技术来说服他,他就服。最后取决于你们谁说服谁,谁赢了听谁。但是你得有理有据而不是做一个无脑喷,从技术上的难度和成本综合考虑。一个公司的pm瞎搞,无理取闹,不存在的。真的是的话,那继续洗洗睡吧。
工作的时候热烈讨论,活跃的氛围,下班吃饭一起玩王者一起吃鸡,哪里有那么多怨气?还有,为什么有的人总遇到那种该回去洗洗睡的公司?自己心里也有点x数吧。找工作总会有一些循环:没经验-》找不到-》没经验,菜-》公司垃圾-》菜,上次业务没完成-》加班-》这次业务没完成。没经验?不存在的,我就是没经验的,学了几个月的野生前端,学了两个月找到了实习。随便写个项目,写出深度,有挑战性的地方,比如用原生写、写一个牛逼的功能(ai)、写个骚一点的操作,加上一些正规的东西(构建工具、开发环境、写个后端、买个阿里云部署、再来个测试、i18n、最后补一个整齐的readme)。
学这玩意,还是看个人的价值取向,有的人纠结css甚至花精力去背,遇到问题又搞不定;有的人学了原理,查一下文档什么都可以做,有问题也可以解决,查多了文档也自然能背。有的人一辈子在框架api表面划水,一到解决不了的时候就上网找插件;有的人就能自己封装组件写插件,公司提薪次次都有他。有的人一段简短的代码很快完成任务,然后被技术老大说性能差到爆无扩展性;有的人就先慢慢想好怎么写,然后写了一大堆代码,语义化一目了然而且能扩展,性能和兼容性完美。
真正的程序员,不应该拿苦逼这个词来形容你的工作,你的加班不是加班而是学习,你能够按时完成任务,然后在空余时间学东西,写个博客,美滋滋的生活,这种生活绝对不能用苦逼这个词,也不能叫他“加班”,而是学习。有了这个关键的学习时间,到时候就有提薪的资本。
可能有的人要喷了。不过我说的是事实,都是赤裸裸的经历以及一些网友的经历,我自己也是个渣渣,没什么实践经验,只是分享一下我所见所闻。看牛客的都是好孩子,你们都有自己的理想,而且都为自己的工作做准备,未雨绸缪,都是很棒的。别问什么前端好不好?前端难不难?四个字:干就完了!
点击作者姓名与作者大佬交流~
作者:你可以回去等通知了
来源:
牛客网(www.nowcoder.com)
- 互联网名企笔试真题
- 校招求职笔经&面经
- 程序员/产品/运营求职实习信息
- 程序员/产品/运营学习交流社区