春秋招面试经历分享+互联网银行求比较
-
春招面试经历
-
秋招面试经历
-
各家公司面试特点
-
实习感受
-
互联网vs银行求比较?
长文预警,对我面试经历不感兴趣的请直接从4开始看。也欢迎想交流的小伙伴评论或私信我。
1. 春招面试经历
因为消息闭塞,本科也没有春招的经历,我是到了去年的12月份,才知道有春招实习这回事🤣。因为深知学历竞争力低,有实习会在秋招时加分许多,所以从今年的1月到3月都在埋头准备春招。因为个人感觉实习就是为秋招做准备的跳板,平台很重要,所以当时也只投递了字节和阿里两家。
4-9-字节教育(一面)
有些是基础,有些是场景题,面试官挺好的,没答上来很多也给过了。
-
前端路由有哪些实现方式?
hash模式,history模式,memory模式
-
单页面应用,后端控制哪些请求返回404,哪些请求重定向到根页面
这个问题我查了一下,是这样的,对于单页面应用来说,后端在所有路径都不命中时重定位到根页面(index.html),然后前端自己设置404情况
-
toast组件怎么实现的?手写给我看看
-
事件冒泡,事件捕获各自的含义
-
currentTarget,target的区别、结合事件冒泡,事件捕获说一下
浏览器为什么要有事件冒泡和事件捕获两种机制
-
preventDefault vs. stopPropagation vs. stopImmediatePropagation
只了解过preventDefault
-
typeScript 定义类型
-
怎么用setTimeout来模拟setInterval?
提到递归地设置setTimeout,他点头了
-
我们知道setTimout的定时是有误差的,怎么抹平?
用闭包,根据执行误差值缩小下一个定时器的wait
-
map和{}在作为存储结构方面的差异?
我说{}键名支持多种类型,面试官眉头一皱,赶紧说只支持Symbol,String
-
怎么用obejct来模拟map,并实现get,set方法
用数组,具体的没听懂,比较复杂
-
怎么判断循环引用
说了map存储已遍历过的对象,他表示可以直接给属性值加flag,节省空间(vue源码有类似的设计)
-
call,bind,apply区别
-
防抖实现
-
扁平结构转树形结构
复习过原题,忘了。。。
-
你们部门是做什么的?
做智能台灯(上海部门)
4.20-字节教育(二面)
搜题部门的,后来实习时在电梯还碰到他了,当然他已经不认识我了hh
-
ul ol 的区别?
-
用input上传文件,如何对类型做限制?
-
没答上来,他说是用input的accept属性
-
label 标签的for属性作用?
-
padding: 10px 50px 10px; 含义
我说一般开发时都是用两个/四个属性值,他让我猜一下,我说上右下,他表示猜错了
-
伪元素和伪类的区别?
-
实现一个三栏布局(左中右)
直接flex
-
各个选择器优先级
-
TCP和UDP简介及区别?
-
HTTP报文结构?
-
【算法】 螺旋矩阵
// 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素// 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]// 输出: [1,2,3,6,9,8,7,4,5]
-
【算法】合并有序链表:
// 合并两个有序链表将两个升序链表合并为一个新的升序链表并返回输入:1->2->4, 1->3->4输出:1->1->2->3->4->4
反问 面试表现哪里不够好?
没有好不好,没答上来说明你开发没有遇到过或没有系统的学过(尤指HTML)。
字节教育有新人培养机制吗?
一般会给至少两周熟悉环境和技术栈,校招生or实习生会给三周左右。
您觉得优秀前端工程师要具备什么特质?
就应届or工作一年左右的前端而言,需要做到“独立执行,快速成长” 独立执行是上级布置的工作可以独立完成,快速成长是指应该工作过程中每周or几天都要有快速的变化 还说了其他比较重要的,比如和团队沟通能力(简洁高效的表达,最小成本的沟通)
此外,面试官也给出了一些 coding 方面的建议,比如注意代码缩进,保持书写美观。
4.23-字节教育(三面)
-
setTimeout 倒计时实现以及时间精度问题
-
new Queue 实现,参考 https://www.nowcoder.com/discuss/636790?channel=-1&source_id=profile_follow_post_nctrack
-
实现一个函数Foo,能记录自身被调用次数
函数属性挂载 or 闭包(在面试官提示下实现)
-
聊了一会儿react的hooks,以及contextAPI不能精确渲染的缺点,面试官提到recoil已经解决了这个问题,推荐我去看下。
4.27-字节(交叉面)
原部门业务线HC收缩。。。transfer 到其它业务线,所以加了技术面(听说这个消息内心是崩溃的🙄,当时已经快五一了)。这一轮面试官除了工程,算法能力外,对于团队协作,项目进度把握能力等软技能都有所考察。
这位面试官就是我后来实习部门的leader,原网易
-
小程序项目是如何分工的,你负责什么角色
-
主要前端业务逻辑的实现
-
与产品的沟通,进度推进
-
与后端团队的协商
-
-
如果项目进度不如预期,你作为leader怎么解决?
和甲方沟通/保证核心业务进度/组内重新分工
-
如果产品经理觉得小程序页面加载很慢,你怎么和他沟通?
-
首先统计同类别其它小程序页面加载速度,在数据上向产品证明我们的小程序性能不算劣势。
-
在产品坚持要求的情况下,要求对方给出明确性能标准,评估技术上的可行性,再进行沟通。
-
想办法直接找甲方沟通,由甲方说服产品。
-
-
资源有更新,如何强制更新?
入口文件不做强缓存,始终为协商缓存。 对于资源更新的文件,修改其路径(hash值变化),以保证资源及时更新,详细参考https://www.zhihu.com/question/20790576/answer/32602154
-
线上静态资源的部署方式?如何获取?与发送普通的接口请求有什么区别?知道后端是如何配置的的吗
静态资源是build后,由后端同学放到静态资源文件夹里的,然后后端同学给出一个路径,我去请求该路径(get) 后端的具体配置,应该是由nginx实现的(面试官说是的,让我回去了解下)
-
(面试官表示很欣赏我的项目分析和沟通能力,然后出了四道手写题,只做出来一道。。。我和面试官都有点尴尬哈哈哈)了解单例模式吗?在JS中怎么实现?
这个真不知道,查了一下就是一个简单的instance复用(我面试时的理解是只能创建一次实例,之后再创建就不允许,直接 return,没有考虑到复用)
-
有上万个节点要插入页面,造成长时间白屏,怎么优化?
猜到用setTimeout,但实现上卡壳了。面试官说就是for循环里嵌套setTimeout,让每个节点的插入由同步变为异步的(确实没想到,感觉分片,然后使用 requestAnimationFrame也可以做到,后者是按浏览器更新频率执行某些动作)
-
[0,3,0,4,0,7,0,0,9] 变为 [3,4,7,9,0,0,0,0,0],即将0移到数组末尾,且保证非零元素相对位置不变。
非常简单的题目了,但是因为以前看过双指针移动零元素到最前面的leetcode原题,下意识就说照搬该思路然后reverse一下就可以了,但是事实证明这样做会造成非零元素的相对位置发生变化。 面试官没做过这题,但看了几秒就直接说出来下面的正确思路(tql)
-
找出一个字符串里出现频率最高的字符
我后来问leader为什么最后这题出这么简单,他说他如果发现面试者啥都不会,就出这一道题,如果连这都不会就直接挂掉🤪
3.5-阿里业务平台(一面挂)
全答出来后,面试官以我没有实际上线的商业项目为由把我挂了??怀疑是KPI面。
-
vue-if/show
-
双向绑定
vue事件通信机制(eventbus,provide/inject,事件中心机制-vuex)
-
promise
-
promise.all
-
react了解吗
-
node了解吗
-
babel了解吗
-
用过webpack 吗
-
immer.js是为了解决什么问题?
-
flex布局 justify-content:space-around 属性
-
项目中遇到的最难问题?怎么去解决的?
shares,myShares 页面的通信
-
use,dataMap怎么来的
-
项目中甲方有什么你觉得不合理的需求?
说了在shares页面删除我的动态
-
其他后端语言?
-
基础是最重要的,项目也很重要(“你就没个上线的项目吗”)
-
flutter 有写过demo吗?
-
碰到问题是怎么解决的?
-
web安全知道哪些?
-
xss攻击如何防御?
-
git 常用操作?
3.5-阿里钉钉(一面挂)
这一面其实偏基础,但当时水平确实太次,很多没答上来。
-
线程进程?
-
互斥锁,同步信号机制
-
输入URL后发生了什么?
-
UDP相比TCP的区别?
-
webpack 原理,plugin/loader的区别,有具体写过plugin,loader 吗
-
项目不够看(没有亮点,没有提出某个算法让页面加载速度快xxx之类的
-
数组的常用方法有哪些?(push,pop,shift,unshift)
-
看过 push,pop,shift,unshift这些方法的源码吗?
-
push concat 会返回一个新数组?
-
react 有了解吗
-
babel 有了解吗
-
你的毕业论文和前端相关吗
-
怎么学前端的
-
碰到问题是怎么解决的?
-
华为软件精英挑战赛那个证书有什么用?
-
有基于promise做什么封装吗?
-
讲一下generator?
-
有哪些对象具有可迭代性?
-
答了set,map,数组,类数组
-
for in 和 for of 的区别,原理?
-
forEach的应用场景
-
vue 源码都看过吗?
4.18-阿里数据部门(一面)
-
有跟导师做过什么项目吗?
小程序(没有写在简历上,但是面试官沿着小程序一直问下去了)
-
小程序主要承担什么角色?
-
前期业务的逻辑实现,页面布局
-
技术交接人(好像不算角色)
-
-
太笼统了,能说详细点吗?
包括名片的增删管理,交换功能;动态的发布/点赞/取消点赞功能;个人中心的管理
-
小程序用的什么框架?为什么?
用的原生框架,在选型时考虑了mpvue,taro等框架,但是一方面考虑到这些框架毕竟是通过DSL将代码转译为小程序端语言,遇到bug或特殊的需求不一定能完美解决,而小程序的文档和相关的社区比较完善;另一方面考虑到团队同学没有接触过vue/react,选择mpvue/taro有一定学习成本。
-
既然用的是原生框架,有没有遇到什么坑?
小程序的wxml是类似vue的template写法,在语法上远不如JSX灵活(面试官:比如呢?我:比如要对一个cardList进行filter和map,用JSX只要一个表达式就可以了,而wxml则需要预先得到处理过的数据,然后按序展示)
小程序的异步操作API大多是以回调函数的形式给出的,当存在多个继发性任务时容易形成嵌套,所以需要统一做promify处理,以便于开发时使用async/await进行使用。
-
所以对taro,mpvue这些框架,没有深入的了解吗?
在技术选型确定后没有继续深入的了解,但是知道mpvue是基于vue的,taro是基于react的,编译时方案(这里说错了,应该是运行时),其原理就是将JSX最终转译为小程序端语言。
-
前端团队有几个人
总共是三位同学,我负责前期的主要业务开发,另一位同学负责后台管理系统的实现,师妹负责上线后的维护。
-
小程序目前进行到哪一个阶段了?
目前已经提交微信官方审核,并根据他们的反馈在进行ICP备案
-
说一下你对promise的理解?
-
回调函数的缺点(继发性任务构成回调地狱、控制反转导致要做额外的容错设计)
-
promise是作为异步编程的解决方案,回调函数被延期执行,将拿到结果和处理结果这两件事情分开
-
-
promise的三种状态以及不可逆性
-
promise的then函数的回调函数会被放入任务队列
-
用es5使用promsie?
就是手写promise,中间对于then函数如何做到链式调用提出了疑问,我补充说回调函数如果有then的话要进一步展开,最终确定状态。
-
const 引用类型问题?
感觉我的回答是对的,const 固定的是指针值;但是面试官一直反问"你确定吗"
具体可以参考https://blog.csdn.net/qq_25643011/article/details/79426015
window.queue=[1] const {queue}=window queue.push(2) console.log(window.queue) // [1,2]
-
koa的中间件模型?
-
koa怎么中断流程?
说了将await后面的promise给reject,以终止async执行流程,他说没答到关键。
我说是不是要专门的处理错误的中间件函数,他问我是不是实际的项目没有用过,我说是的,只是出于兴趣了解:(
-
既然你做过移动端应用,能描述下移动端的click事件特点吗
touchStart->touchMove->touchEnd->(300ms)->click
-
记账项目是用hooks实现的,那我问你hook相关的吧,useEffect可以模拟哪些声明周期?
-
componentDidMount
-
componentDidUpdate
-
(漏了一个 componentWillUnmount)
-
-
useEffect可以用在什么场合?
以项目为例,对于消费记录records的获取与保存
-
初始渲染时从localStorage中获取records:useEffect传空数组
-
对records修改后自动保存到localStorage中:useEffect传递依赖数组
-
除此以外,可以在传入依赖数组的情况下,在useEffect的回调函数中执行网络请求
-
如果我有多个tab,想要在第一次切换时请求对应数据,之后切换时不重复请求,应该怎么做?
没太理解题意,说了用useMemo加缓存,他问具体怎么设计,没答出来。
-
现在想想,或许可以用useRef缓存已经active的ID,然后在useEffect的回调函数里判断是否当前activeID已存在,如果存在就不重复请求数据?
-
useRef有用过吗?用在哪些场景下?
用作全局变量(面试官笑了一下)
-
有时也用作ref一个DOM元素,对其进行操作(感觉答得不是很好,他没有再问下去)
-
有自己实现组件库吗?为什么要做这个?
自我驱动学习
-
前端性能优化,有了解过吗?
说了react(扯到react-redux通过connect实现精确渲染),vue,以及一些通用的性能优化方法
-
什么是预加载?
没说对,可以参考这里https://www.zhangxinxu.com/wordpress/2016/06/image-preload-based-on-user-behavior/
-
团队有哪些人?你负责什么角色?
-
比赛含金量如何?
-
论文完成情况?
-
实习能来多久?
4-27 阿里数据部门(二面)
面试官是该部门总监,Java出身,没问前端。
全程围绕华为软挑比赛,说我们比赛的题目没有找不到业务意义("为啥要监测循环转账呢?循环转账不合法吗?")
2. 秋招面试经历(部分)
字节(直通车,直接终面)
-
实习的收获?
-
解决问题的能力
-
沟通协作能力
-
-
讲讲实习中遇到的难点?
-
实习项目性能优化?
-
你在华为软件挑战精英赛中承担什么角色?
队长:算法设计,任务分配
-
你对react的理解?
-
框架定位、思想:UI=f(state)
-
hooks
-
fiber
-
浏览器渲染流水线?
-
react.createElement作用,参数?
-
组件实例,VDOM,fiber node 之间的关系(各自的作用)?
1) react的类组件只会实例化一次,对于得到的组件实例,我们调用它的render函数,通过createElement得到对应的VDOM(即React element)。
2) 在调和阶段,上述 React element 对象的每一个子节点都会形成一个与之对应的 fiber 对象,然后通过 sibling、return、child 将每一个 fiber 对象联系起来。
3) 当组件更新时,组件实例重新调用render函数,得到新的VDOM,但是组件实例始终只有一个。
-
react-动态加载组件?
面试官:说下思路,不一定要写出来
//react异步加载组件 //实现如下功能,点击tab1,从服务器端加载远程组件 CompOne,并渲染到div.box中,点击tab2,则从服务器加载CompTwo后替换CompOne render(){ return ( <div className="c1"> <tab className="tab1" onClick={this.loadCompOne}></tab> <tab className="tab2" onClick={this.loadCompTwo}></tab> <div className="box"> //加载到这里 </div> </div> ) }
-
CPU能否访问GPU内存吗,能直接读写吗?
-
webpcak 的 loader 在处理文件时,如果遇到静态资源怎么处理?
用其他loader处理(怎么处理?不知道。。。)
-
react-router的懒加载是如何实现的?
-
react 的 suspense了解吗?
-
面试官建议
深度不够,毕业前多扩展一下知识面,可以考虑实现一个小型的虚拟机之类的。
百度一面
-
对align-self了解吗
-
webpack的动态import内容是怎么插入页面的?
动态生成带src的script标签
-
webpack的plugin原理?tapAsync和tap的返回值区别?
-
ES6 module是怎么检测循环依赖的?Node呢?
-
vue
let arr = [1,2,3] arr[2] = 4 // 会引起视图更新吗
-
ts代码题:以下代码会报错吗?
不会,interface会合并
interface Person { name: String } interface Person { id: Number } const p:Person = {}
改成type呢?
会,type不能重复定义
type Person = { name: String } type Person = { id: Number } const p:Person = {}
百度二面
两道手写题目
taskManger
var taskManager = new TaskManager(); taskManager.add(function (next) { console.log('test a') setTimeout(function () { console.log('result a'); next(); // ... }, 333); // ... }); taskManager.add(function (next) { console.log('test b'); setTimeout(function () { console.log('result b'); next(); // ... }, 22); // ... }); taskManager.run(); // Output: // test a // result a // test b // result b // 请实现 TaskManager class TaskManager{ constructor() { this.tasks = [] } add(callback) { this.tasks.push(callback) } async run() { for(let task of this.tasks) { await new Promise(resolve=>{ task(resolve) }) } } }
dep
var data = [ {id: 'c', dep: ['f']}, {id: 'f'}, {id: 'b', dep: ['e', 'f', 'g']}, {id: 'e'}, {id: 'a', dep: ['b', 'c']}, {id: 'g'}, {id: 'z', dep: ['a', 'f']}, ]; function topo(data, target) { // TODO // 先输出依赖(dep)的 id,再输出自己。 data.forEach(item=>{ if (!item.dep) item.dep = [] }) let mapping = {} data.forEach(item=>{ const {id, dep} = item mapping[id] = dep }) let res = [] function traverse(root) { if (mapping[root].visited) return if (mapping[root].length === 0) res.push(root) for (let node of mapping[root]) { traverse(node) } mapping[root].visited = true res.push(root) } traverse(target) return Array.from(new Set(res)) } console.log(topo(data, 'a')); // output ['e', 'f', 'g', 'b', 'c', 'a'] console.log(topo(data, 'b')); // output ['e', 'f', 'g', 'b']
百度三面
聊天
-
对加班怎么看?
-
和领导有分歧怎么办?
-
对百度这家公司怎么看?
反问
-
是什么部门?
百度搜索
-
新人培养机制
有赞一面
-
generator函数的返回值。next函数的返回值。
-
JS的基本类型?
-
判断对象的方法:constructor ,instanceof,Array.isArray
-
instanceof有什么缺陷?
-
对Vue3的生态有了解吗
-
node 的 child_process模块看过源码吗?
-
node 的模块加载机制?
-
npm包在内存中的存储形式?只是二进制吗?
-
index作为key的缺点? index为0,1,2,删除1这一项,视图上剩余的是哪几项?
-
index作为key还有哪些问题?
-
mobox优化机制的原理?(这个是项目里用到了)
-
ts的联合类型声明?(没太理解意思)
function add(n1:string|num, n2:string|num) { if (?) num++ }
-
ts的高级用法:partical,pick,原理?
-
returnType的原理?
-
怎么解决跨层级通信问题?
context
有赞二面
-
promise.all是怎么实现并发的?
-
setInterval实现倒计时为什么有精度误差?
-
设置宏任务,微任务的意义是什么?
-
浏览器的EventLoop机制?
-
Node的IO非阻塞是怎么实现的?
-
你理解的IO包括哪些?
-
Node的libuv能否跨平台?
-
如何实现应用的一键暗黑模式?
-
CSS怎么设置变量?
-
PC端有touch事件吗?
-
移动端配适方案?viewport的作用?
-
移动端rem原理?
-
用过哪些CSS方案?
-
requestAnimationFrame是怎么实现精准计时的,触发时机和作用是什么?
-
最近有了解什么新的前端技术方向或应用吗?(比如serverLess
说了SSR,PWA和react的suspense
反问
-
有赞的新人培养情况?
-
埋点上报在有赞是怎么做的?有统一的平台吗?
-
Node在有赞的落地?
网易一面
主要围绕项目和实习
-
Mobx和hooks的优劣(项目)
-
项目为什么用requestAnimationFrame代替setIntervali就能达到精确计时的效果?
-
定时器如果不是每秒执行60次回调,而是59次,你觉得可以吗
不可以吧,会有卡顿感?
-
虚拟列表是怎么实现的?
-
看你还做过webpack4到5的版本迁移,有做什么其他的性能优化工作吗?
-
简历上说你协助后端排查了bug,主要是做了什么事情?
-
防抖和节流用在项目的哪里?怎么用的?防抖和节流的区别?
-
UI组件库的测试用的是什么库或工具?
-
为什么要做闪电记账项目?
-
你觉得vue和react的区别有哪些?
-
你觉得最近解决过的最大问题是什么?
反问
-
Node在网易云音乐的落地?
-
部门新人培养情况?
网易二面
-
代码阅读
var a = 1 function foo () { var a = 2 function inner () { console.log(this.a) } inner() } foo()
-
实现myBind
function foo (address,zip) { console.log(this.company+" locates "+ address+" "+zip) } var obj = { company:"cloudmusic" } let re =foo.mybind(obj,"hangzhou"); re(31000);
答案
Function.prototype.mybind = function(thisArg, ...args) { let callback = this thisArg.fn = callback return function (...newArgs) { thisArg.fn(...args,...newArgs) } }
-
实现快排
-
react和react-dom的区别?
-
react文档中hybrid和render的含义
-
setState之后的一系列过程(批量处理,diff,fiber)
-
hooks相比class生命周期函数的优势?
-
用过哪些hooks,useMemo和useCallback的使用场景及差异?
滴滴一面
-
介绍实习的项目
-
react源码看过吗?讲一下fiber算法?
-
vue和react的diff算法的区别?
-
webpack4和5的区别?
-
(手写题)用原生JS实现读取、修改、删除Cookie。
-
redux的原理?
-
redux和react-redux的区别,关系?
-
原生js怎么搭配redux使用?
-
redux和mobx的区别?
-
低代码,serveless有了解吗
滴滴二三面
聊天,聊得很开心。
哈啰一面
-
实习内容具体聊聊
-
实现三栏布局
-
元素垂直居中
-
移动端1px问题
-
了解Node吗,用过相关模块吗
-
浏览器和Node的事件循环机制
-
本地存储方法,cookie,localStorage,seesionStorage,indexDB
-
强缓存,协商缓存
-
跨域
-
做过跨端吗
-
如果你作为owner要推进某项新技术的落地,你该怎么做?
反问
-
部门的业务场景
支付宝/微信小程序
-
办公地点
上海
哈啰二面
-
实习经历介绍
-
HTTPS握手过程
-
你在字节收获了什么?
-
你在字节有没有了解过他们是怎么解决白屏问题?
-
你在字节有没有了解过他们是怎么做前端安全的?
-
你的方向是数据金融分析的,搞前端不浪费了吗?
-
了解webpack的plugin和loader吗?
-
职业规划?
反问
-
哈啰的小程序有支付宝和微信两端,是两套人分别开发还是有统一的跨端框架?
两套吧,这个我也不清楚。回答不了你。
-
您这边负责杭州的什么业务?
我这是上海的部门。
美团
忘记了。也是聊天。聊得挺开心,就发意向书了。
3. 各家公司面试特点
字节
-
就春招实习而言,字节的面试难度并不大,基本是发现你有足够的亮点就给你过了。
-
面试算法题必须过,否则大概率凉。
-
字节极重面评,我秋招字节面试表现很差(因为题真的难),但因为之前面评不错,还是过了,而且也没考算法题。所以投递字节要慎重,春招或提前批的记录会作为秋招面试官的重要考量依据。
-
字节面试体验在所有公司里最好,HR打电话调度面试时间,面试官也很专业。
阿里
-
阿里春招要求较高,因为秋招的大部分HC会留给实习生转正。有些部门甚至只有春招,没有秋招。
-
阿里的面试流程是面试官自己联系候选人,约定时间面试。迟到,爽约啥的是家常便饭了。
-
阿里的最后一面是总监面(大多数是后端出身),对于前端候选人会有其他角度的考量。
有赞
-
一天整完所有流程,干净利落。面完一周内给消息。
-
面试官都很年轻,听HR说员工以90后为主
-
如果没有什么特别想去的大厂,有赞推荐去一波。钱给的不少,性价比挺高的。
滴滴
其实今年算是滴滴的至暗时刻了,但单就面试体验而言,滴滴的面试官还是非常专业的,聊得挺好。其实面试本质就是聊天,和相亲一个道理,双方适不适合,聊上15分钟左右就知道了。
4. 实习感受
这块不方便说字节具体的部门和业务了,说下我感觉好的方面和不好的方面吧。
好的方面
-
包三餐,房补,打车免费,反正工作以外的事,公司都帮你预备好了。
-
同事聪明优秀,交流成本极低。
-
大厂光环(秋招投简历,看到有字节实习经历,没有不给我过的)
坏的方面
-
累,不止是身体累(大小周,当然,8月取消了,但是活没有感觉变少),心理上也很有压力。别误解,我们团队没有PUA,相反,我们部门经常饭后一起散步,关系很融洽。但是可能因为我当时作为一个新人,总是持着一股劲想证明自己,缺乏和他人沟通,经常闷头想事情,感觉大多数时候力不从心。加上后来因为我的失误出现了严重的线上bug,总体心理还是挺焦虑的。
-
因为部门业务正处于高速扩张期,对于新人没有过多的精力进行关注和培养,比如缺乏code review,导师制形同虚设。据我所知,字节大部门都是如此,如果你刚进去肯有人带,那你真是捡到宝了。
-
大环境鼓励加班:虽然公司的文化看起来追求自由个性,坦诚包容。但是说到底咱都是打工人,没有资本家是不希望打工仔多干活的,不然为啥要定期全体发邮件奖彰杰出员工,为啥杰出员工的表扬内容总是类似的"XXX牺牲业余个人时间,攻坚项目..."。还有12点的午饭,7点的晚饭,10点才报销的打车费,这背后的鸡贼心思大家都能猜到。
-
onCall:我实习才知道,前端竟然是有onCall的,按照本人懒散的性情,对这种周末都要待命的高压节奏真是接受不了。
总体来说,实习三个月不到的时间里,我大部分时间是焦虑甚至抑郁的状态,问了几个在字节或阿里的同学,基本上也都是咬牙扛着压力坚持下来的。也许是公司的环境确实不适合我这样的新人,又或者我本身不适合互联网?怀着这样的想法,加上学校里正好有事,我便离职回校,又参加了秋招。
5. 互联网vs银行求比较?
因为实习经历的影响,我秋招时也找了杭州的几家银行科技岗。这部分就是想咨询下大家的意见了,目前互联网的offer拿了不少,银行科技岗也在面试流程中。想问下大家怎么看互联网和银行科技岗的优劣了。我自己抛转引玉,总结如下:
互联网
优势
-
钱多(30w+,按今年的行情校招SP说不定就上40w了)
-
技术成就感(这个具体看项目,做出不错的东西来,对于程序员来说确实比什么物质奖励都好)
劣势
-
工作压力大,个人时间少
-
成长速度不足的话,会有中年危机
-
PUA风险(与选择的公司,团队有关)
-
退路不多,社招国企要求就高了
银行
优势
-
稳定,不用担心中年危机
-
工作强度远低于互联网(但有可能不定期加班)
-
隐形福利(房补,节假日补贴,不需要互联网的oncall值班)
劣势
-
财富天花板低(20-30w)
-
工作内容枯燥,技术陈旧,几乎没有跳槽到互联网的可能
就我个人的情况而言,因为是杭州本地人,未来没有房贷车贷的烦恼,似乎选择银行更加稳妥?但同时自认技术水平不差,读研的一大目的就是弥补本科进不了大厂的遗憾,纠结中,各位牛油有什么好的意见吗?或者要交流春秋招经验的,也可以聊聊。