跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 阿里的大哥,可以帮小弟内推一下吗?
未分類
7 12 月 2020

阿里的大哥,可以帮小弟内推一下吗?

阿里的大哥,可以帮小弟内推一下吗?

資深大佬 : 1194129822 2

能不能留一下宝贵的建议或指导或者内推一下,现在帖中不方便放个人的简历。希望您能留下邮箱或者微信,我把简历发给您。我在这先简单介绍一下自己。

某高考大省一本计算机软件,工作三年以上。目前在杭州一家公司工作 3 年整,主要从事 Java 开发,现在是所在公司技术核心(技术 leader 加主程)。 领导信任,同事融洽,工作轻松。但是去阿里一直是自己的目标,外加以此做出的准备和付出的努力,以及考虑到的未来发展。

我的最大优点就是觉悟高(只有努力一条路可走),外加行动力还行。毕业以来每天都学习 1-2 小时,几乎没怎么间断。从本公司的代码看起, 直到完全理解架构、业务、实现,再到读技术书籍各大网站技术博客,再到深入 Java 核心 API 的源码。公司就这百万用户,年流水不过亿,任我这么折腾,但是平台就这么大。 虽然一个大企业技术不是一个人,但是这就经验和平台。我深刻认识到这一点,经验和眼界不足,我就疯狂研究源码,从 JCF 、JUC 到 Spring 全家桶、Mybatis 、再到 Netty 。

感慨 Java 程序员要学的太多,不说计算机、后端等相关知识,就是 Java 相关知识都特别庞大。记忆力不强只能一遍又一遍硬学,JUC 都学了十几遍,不过每次都有不同的收获也算值得。

但是自己三年多没面试过,虽然工作不重,但还是有工作要做,不知道要准备成什么样子,该刷面试题,还是要仔细复习一遍,还是先去其他公司面一下。

期望

现在第一志愿就是杭州阿里,期望职位是阿里云、天猫、菜鸟的 Java 开发,给自己的定位是 P6 或 P6+。我知道人生七分天注定,但是也要把剩下的做好,把在自己身上出纰漏的概率降到最低。毕竟这是我的自荐,可能有些夸大的成分,如果有冒犯到大家,请不要生气。

技能

  • Java 基础扎实,熟悉 Java 规范,仔细读过 Java 8 的语言规范和 JVM 规范。
  • 深入理解集合框架和 JUC 原理及源码实现,熟练掌握并发编程。
  • 熟悉 IO,熟练使用 Netty,熟悉 Netty 线程模型和线程池源码实现。
  • 熟悉 Spring 、Spring MVC 、Spring Boot 、Mybatis,并对其核心原理和源码有一定了解。

源码的学习和心得

重要的类仔细研究源码实现,比如 ThreadPoolExecutor 、ForkJoinPool 、AQS,特别重要的类一行一行研究源码,力保每行代码都知道是什么意思,为什么要这样设计,比如 ArrayList,ConcurrentHashMap 。但是认知有局限性,所以可能出现一些偏差,如果愿意指正,感激不尽。

  • ClassLoader,Java 8 只有 BootstrapClassLoader ( BCL )特殊,只有 BCL 有权力加载 java.包下的类,但是有非标准参数-Xbootclasspath/p 可以使自定义类取代 Java 核心 API, 比如 HashMap 之类。虽然 Java 层面无法获得 BCL 的引用,但是 Unsafe 的 defineClass 可以在 JVM 启动以后,也能让 BCL 加载自定义类,比如 java.test.JavaTest,但是无法替换核心 API 。ClassLoader 在 Java 11 (其实 Java 9 )发生了重大变化,-Xbootclasspath/p 被删除,核心 API 更加安全,ExtClassLoader 被删除,新增 PlatformClassLoader ( PCL ),当然不是换名这么简单。PCL 也有权力加载 java.包下的类,比如 module java.sql 就是其加载的。所谓的双亲委派模型也被抛弃了,现在 ClassLoader 加载的是 module 下的类,所以现在是先搜索类是否在当前 ClassLoader 加载的 module 下,然后交给父辈加载器,最后找不到会调用 SystemClassLoader 尝试加载 classpath 下的类(兼容 Java 9 之前的代码)。Tomcat 、Spring Boot 的类加载也不算复杂,Tomcat 广为流传的三个 common 、server 、shared 加载器其实都是 URLClassLoader 的实例,而且 7 及以后的版本这三个合而为一,只剩下 common 加载 lib,而内嵌情况下只有 WebappClassLoader 。Spring Boot 则扩展了 URLClassLoader 以支持 FatJar(jar in jar)。

  • 类卸载条件苛刻的多,Java 规范规定 BCL 加载的类不能被卸载,而 Class 和加载其的 ClassLoader 实例又相互持有,所以绝大多数 Class 不会被卸载,包括动态代理生成的。但是 defineAnonymousClass ( lambda 原理)生成的类不会被其 ClassLoader 实例记录,还有反射创建的 Method 对象,调用一定次数会生成 Class,但是其 ClassLoader 实例只加载这一个类,所以这几种情况类被卸载还是不难的。

  • ThreadLocal,ThreadLocal 只是一个 Key,起作用的是 ThreadLocalMap,其三种节点 null 、key=null 、正常节点,其中 run ( between two null slots ),每次 get/remove 如果在查找元素的时候发现 key=null 节点,则清理并 rehash 从定位到 runEnd 的所有节点,而 set 查找位置的过程中遇到 key=null 节点则会清理整个 run 。而扩容则是达到 2/3 阈值之后清理整个数组,如果清理过后元素数量还大于容量的一半则扩容。针对如此复杂并且低效的 ThreadLocal,Netty 提供了 FastThreadLocal 取代之,底层使用数组加索引直接访问,用空间换时间,自下而上的改造让 FastThreadLocal 不会出现内存泄露。

  • ConcurrentHashMap ( CHM ),CHM 在 Java 8 中直接重写,现在几乎是个并行 Map,是 JUC 最重要的类,原理简单,设计巧妙。理解 CHM 的 bin 意义、计数、扩容、遍历就能大致能弄清楚它。CHM 计数基本上照搬了 LongAdder,CHM 的 size 能超过 threshold 吗?能超过 capacity 吗? addCount(long x, int check)的 check 如何理解,为什么要加 mappingCount()取代 size()呢。CHM 怎么保证在扩容过程中遍历的呢。CHM 最有技巧的是并发扩容,此时 sizeCtl 高 16 是数组长度的标识,低 16 位代表扩容线程+1,通过数组分段实现并发(并行)扩容,不可谓不巧妙。但是 Java 8 扩容的时候是有 bug,这个直到 12 才修复。而且在扩容的过程中,有两点我不敢苟同,1.对单核处理器(逻辑)只有一个线程完成扩容,2.这个更重要,所有数据迁移完毕后,留一个线程 recheck,在这个线程没有 commit 之前,所有写线程都会自旋,recheck 时间依赖数组大小。线程的运行时间由 OS 调度,OS 不可能让一个线程一直运行,所以在两种情况下,效率不高,也会造成很大的 CPU 时间浪费。

  • AQS,虽然现在 AQS 及其子类已经不算特别重要了,但是其设计思想还是值得学习的。AQS head 节点代表的意义是什么,为什么从 tail 向 head 查找,独占模式和共享模式除了 Condition 只能在独占模式使用外真正的区别到底是什么呢,是独占模式只能有一个线程获取同步状态吗,那能不能用独占模式写一个 Semaphore 呢。带着疑问学习 AQS,理解也会更加深刻。

  • ThreadPoolExecutor 、ForkJoinPool 、Netty EventExecutor/EventLoop,ThreadPoolExecutor 基于 BlockingQueue,正所谓成也萧何败也萧何,BlockingQueue 基于 AQS,而 AQS 实现的独占锁现在性能和 sychornized 差了不止一个数量级,不仅如此,底层共享一个 BlockingQueue,造成效率低下。ForkJoinPool 是个先进的线程池,不仅每个线程都有自己的工作队列,还能在空闲时窃取其他的任务,已到达负载均衡,它是 JDK 中最重要的并持续维护的线程池,是众多并发并行结构的底层线程池,如 CHM 的各种 TASK 、CompletableFuture 、parallelStream 等等。但是其依然有缺点,实现非常的复杂,它就是 JUC 最复杂的类(体系),而且每个版本都有大改动,行为在每个版本也不一样,负载均衡如此复杂却没带来高效,如果是 Java 8 则不建议使用,因为 ForkJoinPool 会创建和销毁大量的线程,commonPool 更加不推荐使用。而 Netty 线程池体系非常庞大,几十个类构成,实现了 Future/Promise 模型,EventLoop 绑定一个线程,每个 EventLoop 都有一个工作队列,并且通过轮询实现了任务提交的负载均衡( ForkJoinPool 是执行的负载均衡,思想更先进),Netty 的线程模型和线程池给人巨大的启发,线程并不需要太多,依然可以有极高的效率,Netty 5 就是打算使用 ForkJoinPool 取代其本身的线程池,但是最终效果并不好,此版本也废弃了(还有其他原因)。我目前知道 Netty 线程池唯一坑点就是 EventLoop 被关闭后不会重建,除了 NioEventLoop,其他的线程池都会被 execute 提交的 runnable 产生的 unchecked exceptions 关闭(大坑)。

  • 当时好奇 Mybatis ( JDBC )增删查改的发送和返回到底是什么,用抓包工具分析 MySQL 的包(对应 OkPacket ),做了大量的测试,发现了没有开启 rewriteBatchedStatements 的 addBatch 就是循环提交,发现了更新操作的 Affected Rows 和 Rows matched 的区别,也发现了自增 id 和 Last_INSERT_ID 、addBatch 返回 ids 等线程安全的原理,原来这些是基于 MySQL session/JDBC connection,相当于 ThreadLocal,当然没有线程安全的影响。

缺点

  • 经验和眼界不足,没有特大并发项目经验,只停留在各大技术博客分享的理论中。
  • 时间的限制,现在广度不足,对 MQ 、MySQL 、Redis 之类暂时停留在理论和使用上,主要在积累和总结经验,几乎没研究过源码。
  • 一般算法能力,曾经也疯狂刷过 LeetCode,比如处理线性表屡试不爽的滑动窗口法(双指针),可能觉得收益太低,所以把精力投在研究源码和业务学习上了,现在顶多手写快排。
大佬有話說 (64)

  • 主 資深大佬 : 1194129822

    能不能给个宝贵的建议或意见

  • 資深大佬 : kanemochi

    找个内推还不容易么,简历直接挂某招聘网站不就一堆过来要简历

  • 資深大佬 : horx

    @1194129822 联系下我个人页的邮箱

  • 資深大佬 : blindpirate

    AFAIK, 阿里云、天猫、菜鸟已经不招 P6 了(或者需要特批),只有集团的某些子公司才招 P6 。

  • 資深大佬 : s1syphus

    学生党表示已经很厉害了,加油!你也可以到脉脉上试试看

  • 資深大佬 : hanhan13

    @1194129822 留个微信吧,我来推你

  • 資深大佬 : reeco

    wechat: ZW50ZXJfbmV3X3dlY2hhdA==
    最近正在找人

  • 資深大佬 : hello2060

    同学,来澳洲吧。你这水平,我保证你 1 天 1000 澳元起。。

  • 資深大佬 : niuroumian

    @hello2060 如何去澳洲? 有好公司介绍吗?

  • 資深大佬 : hello2060

    @niuroumian 我没有公司介绍,很偶尔我会转发几个猎头的赞助工作签证的澳洲公司,但网友们都说是初创公司,太累什么的。

  • 資深大佬 : niuroumian

    @hello2060 澳洲天气是否太热?和加拿大比有什么优势吗?软件工程师发展前景如何?

  • 資深大佬 : hello2060

    @niuroumian 没了解过加拿大,我觉得加拿大的好处是离美国近。拿到加拿大国籍容易去美国工作。澳洲国籍能拿 e3 签证去美国其实比加拿大人拿的 tn 签证要好,可是实在离美国太远了。只有亚马逊每年会到澳洲来招人,所以去美国工作还是加拿大更好些。

    本身澳洲程序员的话收入不是太高,大公司可能 13-15 万澳元税前吧。我上面说的 1000 一天是我这种 contractor 也就是外包的工资,比正式员工高一些。

    天气还好吧,现在是夏天了我这最低温度还在 10 度以下。。

  • 資深大佬 : niuroumian

    @hello2060 感谢回复!如果想做 contractor 怎样拿工作签证呢?是不是得找一个挂靠公司呢?

  • 資深大佬 : seven123

    哎,比我厉害的人还比我努力,难受啊

  • 資深大佬 : Foralrec

    foralrec#gmail.com 阿里云 云原生 p6+ & p7
    响应速度快
    这帐号就是我以前专门注册来做内推的.

  • 資深大佬 : hello2060

    @niuroumian 一种是直接申请绿卡,来澳洲找工作。如果这条路走不通,那就找个工作,让公司给你办工作签证,然后满足条件了转绿卡,可能是这样。反正肯定要找到工作先的。

    高工资的 contractor 只有 zf 部门有啦,一般都要求公民身份,有的还有保密权限的要求。来到澳洲 5 年之后基本上才有机会考虑这些。

    但 4 年就可以入籍了,胆子大的话可以直接买张机票去美国,大公司面一轮下来,e3 签证很容易申请的,公司一般都会给你办的。

  • 資深大佬 : poppersd

    老哥牛逼 祝好

  • 資深大佬 : wgbx

    出师表

  • 資深大佬 : woshiaha

    杭州现在不一定要去阿里 阿里给的薪资大厂里面也就中游 而且工作氛围有点差
    从你文章列举的知识点来看我感觉你理解还是可以的 可以把算法准备准备 项目架构经验整理一下 面一下杭州字节和杭州快手 这俩内推帖子这论坛就有不少
    还有上海杭州的一些外企也可以试试 前提是要准备英语面 可能准备周期更长一些
    至于阿里的内推 你简历挂 boss 上就有一大把了 由于 kpi 的关系 阿里的招聘轰炸密集程度感觉仅次于外包

  • 資深大佬 : wdytoya

    能静下心吃透源码的主值得鼓励。当然到大厂你就会发现技术的深度是一方面,还要有广度,这个广度不单是技术的,也包括业务的,也包含协作的,主自己也自知由于公司或者时间的限制能接触到的东西还不够多。但如果你真要面试的话,个人建议还是多了解一些,好好准备一下总不是坏事,当然这种准备不可能说让你去把所有框架的源码都看一遍,但也不应该只停留在了解或使用的层面,应该要准备到面试官给你一个应用场景,你立即能反映出来在这个场景中哪些模块可以套哪些框架,并且如何进一步优化,只要能把每一块都答到,并且每一块的主思路都差不多,那基本上就可以认为你这题答得八九不离十了
    以上是我的个人建议,如果你有兴趣来支付宝做业务开发的话,欢迎投递简历到 [email protected]

  • 資深大佬 : luvsic

    @hello2060 这个薪酬对比国内大厂好像一般,不过不用 996 很爽

  • 資深大佬 : PerpetualHeng

    henghengheng996,直接加我

  • 資深大佬 : PerpetualHeng

    上面是我的微

  • 資深大佬 : zhengdutech

    兄弟 很棒,考不考虑给我司兼职下,做技术指导。vx:979433196

  • 資深大佬 : zzzzming

    老哥,考虑网易吗?考虑的话可以看看我之前的帖子

  • 資深大佬 : mosesyou

    @Foralrec 云原生应用团队还有 hc 么

  • 資深大佬 : rambo92

    确实是刚毕业 3 年的孩子,对阿里还有着大厂期待

  • 資深大佬 : hepin1989

    来啊,投递我们这里。[email protected]-inc.com ,你可以看下我的其他帖子

  • 資深大佬 : wysnylc

    人才

  • 資深大佬 : fcoolish

    我感觉进大厂挺难的,你确实做到一些代码和框架细节的深入研究甚至有自己的理解。
    但是现在要求不仅是理论深度,还有算法考核和架构设计,缺一不可。

  • 資深大佬 : Foralrec

    @mosesyou 可以发邮件我们沟通下.

  • 資深大佬 : bk201

    有啥想不开的要去阿里?那么多一线

  • 資深大佬 : Bijiabo

    找个正经公司吧,别去阿里

  • 資深大佬 : kilen3a

    @woshiaha 字节 快手还是算了吧,都是大小周,不至于

  • 資深大佬 : DyingSwan

    默默顶贴

  • 資深大佬 : EdwardXia

    加油

  • 資深大佬 : lwlizhe

    话说阿里面试重算法不

  • 資深大佬 : zhangzhang

    @hello2060 #12 现在给 sponsor 的公司太少了….有靠谱的猎头推荐吗?

  • 資深大佬 : cctv1005s927

    cctv1005s#gmail.com

    阿里云,收到邮件秒回,工作详情邮件聊

  • 資深大佬 : hello2060

    @zhangzhang 我工作找的不多,猎头认识的也不多。手头只有这一个 [email protected] ,你给她发信,让她把你加到 mail group 里面,她会不定期的发布她有的一些工作,但似乎主要是游戏相关。她也在 linkedin 上 https://www.linkedin.com/in/bronwynnlusted/ 你可以关注她,看看她朋友圈里有没有别的猎头。。

  • 資深大佬 : pkwenda

    可以,技术强,态度还真诚,其实你这水平挂个简历就够了

  • 資深大佬 : SuperManNoPain

    太强了

  • 資深大佬 : 27149

    很靠谱的小孩啊,虽然看不懂,但是感觉很认真,6~6+应该没啥问题

  • 主 資深大佬 : 1194129822

    下班到家,在公司怕被发现,不敢太猖狂

  • 主 資深大佬 : 1194129822

    @hello2060 说的太夸张了,我能在中国混好都不容易了,一步一步走

  • 主 資深大佬 : 1194129822

    @woshiaha 是的,之前也有自称淘宝,钉钉之类的,打电话问我有没有想跳槽,一个我怕是骗子,其次我怕是刷 KPI,我觉得内推还是可靠一些。

  • 主 資深大佬 : 1194129822

    @kanemochi 非内推,很容易成为刷 KPI 的产物,还是谨慎一点。

  • 資深大佬 : talex

    菜鸟部门缺人,非常缺,p6p7p8 都很缺。
    绿色软件:YTY5MDA2MjkxOQ==
    建议去小公司练练手再投,顺便说一下,可以年前面试,年后入职。

    其他人有需要的也可以内推,内推阿里的其他岗位也可以的,官网上找好岗位,链接发我就行。

  • 資深大佬 : linnana

    给个建议,如果真对阿里感兴趣尽量做好面试准备,特别是八股文一类的,先挑几个中小公司练练手查缺补漏
    不然初次面试面得差后面就很难获得其他部门的青睐了,系统里有记录的

  • 資深大佬 : zy445566

    去了之后的你:什么垃圾公司,垃圾领导

  • 資深大佬 : yhxx

    可以给我一份简历,淘系技术部(天猫 /淘宝 /聚划算等的技术团队都在这个部门)急求 P6 、P7,前后端测试都有需求
    dGlhbmhhbmcuanRoQGFsaWJhYmEtaW5jLmNvbQ==

    不知道上的“阿里云、天猫、菜鸟已经不招 P6 了”这个消息是从哪来的

  • 資深大佬 : NilChan

    @hello2060 澳洲 13-15 万应该是 Senior 了吧?

  • 資深大佬 : hello2060

    @NilChan 这个其实我不是很清楚哈哈是不是有点误导了,我自己的两份 java 工作都是在 zf 部门,没有在企业里干过。但我以前认识的一个印度人很能来事,各种面试,虽然水平很差。他和我说 java 工资比 c++高,基本上 13 万都有的。我结合自己找 c++的经历,c++是工资低一点,12 万左右已经很好了,所以我觉得 13 万应该是正常的。也许也不要太 senior 吧,可能 3 年经验就够了?

    不过 15 万的话,看起来是挺高的,估计经验要求高一点

  • 資深大佬 : alw

    我觉得还是 github 与博客有说服力 0.0

  • 資深大佬 : NilChan

    @hello2060 15 万真的已经很高了。我在加拿大,除了 google 微软这种,一般公司的非 Senior 的开发大概也就 11 – 12 万。而且我对标我在澳洲的同学,加拿大的工资是比澳洲要高的。

  • 資深大佬 : keshawnvan

    零售云事业部,感兴趣的话可以加我 vx:fkx0703

  • 資深大佬 : kuner0614

    看起来很优秀,没有建议。给主加个祝福 buff,加油嗷

  • 資深大佬 : xw

    加油

  • 資深大佬 : joejo

    联系我

  • 資深大佬 : joejo

    JoeZhao16

  • 資深大佬 : joejo

    阿里安全和阿里云都可以帮你内推,请加我 v 呀

  • 資深大佬 : Misakas

    哥哥头发还多吗

  • 資深大佬 : yukong

    阿里云、天猫、菜鸟、蚂蚁都可以内推 欢迎勾搭
    邮箱 base65: eGlvbmdwaW5nLnhwQGFsaXBheS5jb20=

  • 資深大佬 : Betsy

    老哥很强,期待老哥后续,将来入职阿里了,务必回来分享啊

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具