前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >互联网安卓前端开发,转外企Java后端开发面经分享

互联网安卓前端开发,转外企Java后端开发面经分享

作者头像
HelloMin
发布2022-08-11 14:42:44
7180
发布2022-08-11 14:42:44
举报
文章被收录于专栏:Pair Programming

跳槽的动机

老样子,先说why,先讲动机。

也许是做前端做久了,突然就很想知道,我每天在想尽办法按照UI/UE/产品的要求设计出来的页面,上面展示的数据到底是怎么来的?服务器端的开发是一种什么感觉?于是就萌生了是时候换个角度看世界的想法。

没有在公司内部转岗,一方面是感觉目前这个方案实行的难度比较大,另一个主要原因也是想换换环境,看看自己的人设还有没有新的可能。在旧的公司,周围同事和领导对自己的能力已经有了一个刻板印象,甚至连自己都开始觉得,也许就到这里了?但是内心又觉得,我还可以做的更好,还可以做很多有意思的事情吧!

没有离开编码的键盘,其实也是因为还是有爱。只是做前端业务做久了,越发的觉得写更好的代码只是自己对自己的要求,而我并不是一个有那么强自驱力的人。在和Mars多次沟通之后,我确认做后端开发的技术要求会更强(注意我不是说后端更有技术含量,只是做后端对技术的基本要求会更高,但是想做一个炒鸡优秀的前端,其实更难,而我感觉自己可能是做不到了。)

同时,希望能够离965WLB更近一点的愿望,也是我首选外企的原因。在华为和互联网公司的经验让我明白,加班可以的,但是至少对我个人来说,加班期间写出来的bug比feature多,晚上就是给自己埋坑的时间,所以,如果能尽量在我效率最高的早晨和下午编程,晚上留给自己,对我来说会是最佳选择。同时,有了豌豆之后,我也常常陷入工作太忙无法按时回家,到家时豌豆已经熟睡的两难境地。而我很贪心,我希望可以陪她更多,只要有能力,我都想去试试看这个可能性。

ok,想清楚了之后,就开动啦!

准备

考虑到自己想要申请的是完全不同的技术栈的工作,对方必然不太懂前端,也不会期待我很懂后端,所以,我们之间唯一的桥梁就是:基础和常识了。基于这个考虑,我的准备工作主要分为:

《Cracking The Code Interview》

除了每一章的习题只做了部分,其他内容基本读完,其实内容很少,但是对于回想起整体的计算机知识结构来说,是一个很好的比较全面的复习方式。比如我发觉自己对数据库相关的东西几乎一无所知,为了不至于对sql语句太小白,专门去参加了公司的一个BI相关的SQL用法讲座,扫盲了不少。同时很后悔,自己为什么以前没有多听听这些其他领域的讲座,对全面的理解公司和技术,都有数不清的好处,希望我现在反省还不晚。

《深入理解JVM虚拟机》

做前端对这块真的没接触过,但是JVM相关的知识真是面试常考点,类加载,特别是GC,基本电面/onsite面都会被问无数次。这本书我实际只看了GC和之前的章节,但已经刷新了我的认知,也足以应对面试官的问题。不过纸上说来终觉浅,最近看CEO在我的docker container演示jstat的用法,才发现原来书上看的都是真的哈哈哈哈哈,很有意思~

《Effective Java》

这本书还差一些没看完,其实面试真的会问到的不多,但是一旦聊到,能讲的比以前没看书的自己更详细。我觉得我还得再回看一遍。

《算法导论》

只重温了最经典的排序/图遍历等算法,所以花的时间并不长,但基本能保证可以在白纸上写个没有大问题的算法出来。实际面试的时候,也被问到了类似单链表逆序,图的深搜广搜,都能很快的写完,算是对自己基本算法功底的一个证明。

Leet Code

把Leet Code列出来自己都有点惭愧,因为真的没刷过几道题,但是仅有的一点刷题的时间,让自己对面试的时候白板写代码有了经验,之后每一轮面试基本都要在纸/黑板上直接写代码,基本都没有在怕的,虽然不一定能给出最好的答案,但总归不会交白卷,相信这点给面试官也能留下好印象。

其他可能问题/知识点调研准备

这个其实就是通过面试准备面试,每次面试完都会发现,自己还有很多不懂的,于是会在下次面试之前把上次面试没答好的问题搞清楚。

比如ConcurrentHashmap的实现,数据库中b/b+索引等等,都是在面试的过程中才去学习的东西。同时,为了对大数据有一定了解,请 Spark老司机Mars给我科普了几次大数据相关原理,感谢Mars~

首先这些东西都很有趣!其次,这其实是最有效的准备。也因此,我一直强烈推荐需要找工作的朋友多多投简历,让面试来帮助自己完成更好的面试。

实战/面经

实战我其实面的不多,面了Paypal, EA, ebay。我的目标是很明确的,外企的后端,越基础越好,大数据相关的更好,于是投的也都是相关职位。很幸运的,拿到了Paypal大数据平台和EA基础架构组的offer,ebay的大数据团队把我拒了,hr给我面试其他Java后端岗位的机会,不过由于当时我已经拿到了前两家的offer,并且不太喜欢ebay的面试,所以没有再去继续面下去,算是跪了。

流程上,Paypal我实际上“被”面了两个部门。电面一轮,onsite三轮,hr打电话来说我面的大数据部门的hc悬而未决,于是又让我电面了另一个部门,电面结束后又说大数据的hc有了,于是我又电面了两轮大数据的老板面…两个部门面来面去,感觉很飘渺。整体电面和onsite面试都是纯技术代码面试,老板面则重点考察设计模式和编码习惯,以及英语能力等综合能力,结构还是很清楚的。加起来面了七轮。

EA貌似没有电面直接onsite,四轮技术面,每轮都在写代码,面到两眼发黑,也许是因为当时就已经得到了team的认可,于是还来了一场三位hr妹子的hr面试,面完天都黑了。之后收到了一次和米国隔壁部门leader的remote面试,为了考察下我的前端能力,google doc用的很不习惯。最后收到了和整个开发团队leader的onsite面试,这轮一般也应该是电面,但是leader刚巧来了上海~本来以为最后一轮了应该不用写代码了吧,结果还是写了一墙的代码~

加起来,还是面了七轮~

ebay就比较简单了,电面一次,onsite一次,但是对方问我的问题我都感觉没有任何发挥的余地,对方对我好像也爱理不理?总之就是一次八字不合的面试,于是也没有继续走下去~

具体面试题目呢,其实我之前有想过把面试题全部记下来,但是很不幸没有做到,现在能回想起来的问题不多,题目太复杂的就不列了,希望能给大家做参考:

Paypal

ConcurentHashmap的原理

链表和数组的差别

单链表逆序

给定一个函数,如何控制这个函数的最长运行时间

解释Java的多态,问这个问题秒变英文,打了个措手不及

实现一个支持加减法的计算器,输入数字或者加号减号等号,每次输入显示当前的新状态,最后输出结果

写一个图的遍历

两个字符串表示的整数求和

常用的设计模式(回答了5.6个定义和具体的用处才算完)

代码的臭味道有哪些

EA

写图的深搜广搜

假设有一些游戏,分别有单价,然后几种游戏的组合又有不同折扣,为用户计算某种游戏组合的最低价格

写字符树前序/中序/后序遍历的算法,并解释通过遍历结果如何重新构建树

ios如何越狱?(面试我的小哥,这问题我之后我专门听了一次讲座,下次见面我给你讲讲...)

前端dom的diff算法

react的点击事件具体流程/实现细节(我对前端的理解真的不深!这类题都问的我懵懵的!)

一个不重复的整数数组,选出和为某个数的所有组合

对CPU的优化技术的了解

乐观锁和悲观锁

Ebey

设计一个网络请求的库

如何用两个栈实现队列

两个鸡蛋100个台阶问题(ebay的问题都是这个路数,让我很头痛)

假设有一个网格,每一个节点有一个红绿灯,红绿灯的状态只有到达之后才知道,问设计一个算法,尽量减少等红绿灯的时间(这道题我只给出了贪心算法,有更好答案的朋友可以告知一下...)


以上就是我本次跑路的全程回顾。在拿到EA的书面offer之后,提离职是一个让人很难受的过程,但是与上次华为离职时候,被离职流程折磨的苦不堪言不同,这次更多是我自己心里不舍,毕竟是一个呆了五年的地方,楼上楼下都是熟悉的面孔,一想到和大家说再见,还是有些悲伤。然而在得知我离开的详情和原因后,我的leader们都表示理解加祝福,很暖!合作新员工培训一年的hr妹子还送了我一只大大的奇鹿~记得当时听着旅行团的《逝去的歌》,给所有曾经帮助过自己的人写了一封长长的告别邮件,现在听到这首歌,还会想起大家~

放一张奇鹿和一大早趁娃不在窝在角落看论文的Mars

如今,入职不到一个月,需要学习的东西已经可以列一个超长的清单,在这个月学到的新东西,更是超出了我之前一年接触的所有。这感觉就像是,已经在某专业读到大学毕业了,突然又被丢到一个完全不懂的领域从小学生做起,很痛苦,很酸爽,比我预期的还要酸爽一点,每天都能感受到同组刚毕业两年的小朋友对我的后端能力的深深diss。但每天都能发出“原来是这样!”的感慨,也是一件很快乐的事情!然后有一个从jvm启动参数一个个讲起,发现我在任何领域不懂就是一句“没事~这个可以慢慢学~”的老板,也算是巨大的运气!

继续努力吧!下次和大家分享我的学习小笔记,以及入职EA一个月的感想~

Schönes Wochenende!

我的2019周更计划已完成:26/52

[********............]

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Pair Programming 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档