双非本科的大厂暑假实习之旅

共 3563字,需浏览 8分钟

 ·

2020-07-10 15:19

自我介绍:四川某双非一本院校计算机类学生。从18年4月进入学校一个本科实验室(下称团队)开始学习Java,同年11月份开始接手一些团队自用的项目(团队成员管理系统)。后边担任团队队长,接手很多外包项目,但能写在简历上的不多,只有一个油田的项目、自己搭建的个人博客还有一个微信公众号。19年代码产出5w+(春招面试的时候也没有啥亮点)

今年4月开始准备走春招找暑期实习。现在想想自己心是真的大,4月13号boss直聘上边收到一个阿里师兄的内推邀请立马就投了,那时候还没准备任何东西(HashMap底层都没看过的程度),到21号收到人生第一次面试(阿里乌鸫),下边跟大家分享一下我的春招面经

1 阿里乌鸫

  • 一面
  1. 自我介绍+项目(20m)
    项目问的比较深,自己扯出来的项目难点,面试官人很好,问问题的过程中还会提出自己的一些想法。根据项目引出了mysql和redis读写不一致怎么办,全文索引。
  2. Mysql事务隔离级别
  3. Spring IOC(说一下两种实现方式,问到为什么不能代理有final修饰符的类)
  4. HashMap
结合jdk1.7,1.8说一下底层结构、get过程
  1. ConcurrentHashMap(结合jdk1.7,1.8说一下底层结构)
  2. volatile关键字
  3. JVM内存结构
  4. 垃圾回收算法(为什么老年代和新生代不同)
  5. 面试官介绍了下公司
  6. 还有什么想问我的吗?
  7. 身边还有跟你技术差不多的同学可以介绍的吗?
  • 二面
  1. 自我介绍
  2. 为什么开始学Java,学习Java的契机
  3. 学习Java这两年,包括后边框架什么特性对你有很深的印象或者帮助(Spring Aop)
  4. AOP除了日志和权限控制常规用法以外,你还了解什么高级功能(Spring 事务的声明方式)
  5. 看Spring源码看了哪些(aop、ioc、bean的生命周期)
  6. 看了源码之后最大的感受
  7. 实际上有用到这些源码层次的吗
  8. 介绍一下对自己比较重要的项目(油田修复井专家系统,7个人做项目、2后端、3前端、2UI)
  9. 项目前后端分离的架构(端 springboot+mybatis基础框架、spring security+token 身份鉴别,前端React)
  10. 为什么选用springboot+mybatis(学习路线这样)
  11. 整个设计是你设计的吗。整个设计最大的亮点是啥(前后端分离,我用swagger-ui+内网穿透让暑期一些同学回家也可以写项目【新疆同学比较难操作】)
  12. 有实际交付给用户吗(还在加功能、也差不多了)。有考虑过交付之后的容量吗(没有……以前项目比较小,后边打算所有功能实现之后测一下,大佬让我提前测一下)
  13. 新老系统之间的数据怎么迁移(老师写word我们边测接口边添加)
  14. 详细介绍一下项目业务(从用户权限开始讲)
  15. 过程中遇到过什么技术问题(英文+数字主键自增、规则库的不规则的树的遍历还有增删改查、方案查出来之后的去重【讲了下LinkedHashSet的去重】)
  16. 有没有遇到jvm内存泄露的问题(无、那个时候还不知道啥叫OOM)。
  17. JVM内存泄露常用情景
  18. 当团队队长和组长的经历、时间
  19. 本科成绩(前50%,大佬笑了,前50%也太广了吧,然后说了下自己平时感觉不挂科就行了,写代码做项目比较多,没太关注过)
  20. 其它项目(微信公众号,个人博客网站【运行在哪:个人服务器上边、为什么不用阿里云的学生机:我用的就是阿里云的学生机】)。
  21. 了解阿里云上边主机的配置吗(轻量级服务器,1核2G,40G内存。5M带宽)
  22. 有没有其他人来访问你的个人网站(有、但不多,大佬说项目里边可以补上,这个挺好)
  23. 了不了解阿里云的云的体系,公有云、私有云(没有、、、、只是用过阿里云上边的服务器、域名、短信服务,看看阿里云app上边推送的技术文章)
  24. 对未来的考虑
  25. 接下来在技术这块有哪些需要补足的(现在项目并发量比较小,要加强一下并发编程,概念了解比较多,实操少)
  26. 一块做修井项目的前端同学有特别好的吗
  27. 有没有什么想问我的
  28. 大佬跟我谈了点道理。要有改进的动力,多考虑系统的抗压能力。提高自己的架构设计(举了个栗子,如果石油系统的几十万人访问系统你这肯定扛不住。感觉大佬说的确实很有道理)。
  29. 今年代码量产出多少(5w多【主要是修井2w8左右、博客4k多、公众号3k多(调用了github上边的sdk,代码量比较少比较方便)、平时小项目…】)。
  30. 关不关注代码质量还有规范(idea上边的Java阿里巴巴代码规范,还有自己的项目下一届要继续维护,注释尽量清楚点,代码尽量精简点)
  • 三面
三面是leader面,包括后边的面试基本都是凉在了leader面上边
  1. 自我介绍
  2. 项目介绍
  3. 学校里边学过那些科目
  4. 数据库的三大范式以及应用(自己拿项目举例子)
  5. Spring bean的生命周期
  6. 学习成绩
  7. Spring的bean工厂是什么
  8. nginx主要是干嘛的
  9. nginx代理了哪几层网络协议
  10. 有没有挂过科

2 成都京东

  • 一面
  1. 实习时间3个月是否能实现
  2. 自我介绍
  3. redis平时的使用(消息队列如何实现的)
  4. spring boot启动的过程(run方法和bean的生命周期)
  5. spring加载静态方法和非静态方法的区别(不会。。。以为是代理那坨)
  6. sql优化
  7. sql优化的过程(顺便提了下存储引擎的区别)
  8. HashSet有用过吗(没用过,但用过LinkedHashSet做去重)
  9. 多线程有用过吗(没咋用过,但是了解一些知识,以为面试老哥会深问,但并没有)
  10. 谈一下并发跟并行的区别
  11. 谈一下Java中的多态
  12. 重写和重载的区别
  13. 网络安全问题(主要是xss跟sql注入)
  14. 项目里边的安全验证方式(token,说一下token的过程)
  15. 反问阶段(对我的评价,怎么看招聘进度)
  • 二面
没有自我介绍。全程14分钟,九点十分接的电话。不知道是不是面试官要下班的原因,面试时间很短,后来意识过来是来刷kpi的
  1. 项目都是你自己做的?
  2. 说一下JVM的类加载
  3. 为什么要用双亲委派
  4. MySQL的存储引擎
  5. Innodb的事务支持是怎么实现的
  6. 平时设计数据库注意哪些问题?(说了下三大范式)
  7. 平时在哪些网站学习
  8. 有没有了解过新技术
过了三天二面面试官打电话过来,给我的评价是技术深度不够。后来我们另一个校区的校友(阿里新零售offer),跟我说给他的评价也是一样。有点佩服

3 阿里新零售

一面
  1. 自我介绍
  2. 项目介绍
  3. 项目业务详细介绍
  4. 项目中的难点
  5. 自己设计数据库的话会怎么设计
  6. 比如疫情原因,一些油井无法开采,疫情过后又恢复生产,你要怎么设计数据库
  7. 英文+数字的自增主键在分布式下如何解决(类似于MVCC机制,使用标识符和预知量判断)
  8. 如果使用redis怎么解决自增主键在分布式下高并发的问题(在redis中建立一个键值对,不管插入何值都存到redis的value中。等到合适的时间再存入数据库,因为主键唯一所以不符合自增要求或者重复的会被直接pass掉)
  9. MySQL中的事务隔离级别
  10. 自增主键进行写的时候会用什么事务隔离级别(读未提交)
  11. Linux常用命令
  12. awk命令的应用
  13. OOM情况如何排查
面完后阿里的师兄直接跟我说面试过了,然后因为我第一次的笔试成绩不行。需要补一次笔试,他给我发了一封邮件,里边五道题。一个ER图、四个编程(一道最长子串、三道深度遍历,只会做那个最长子串)
二面
这次二面也是leader面。算是在乌鸫那个大叔之后,被怼的最惨的一次,出乎意料的是,一个技术问题都没有。全程谈人生,谈完我给一面师兄发了微信问了下进度,师兄跟我说凉了!!!!心态大
  1. 做个自我介绍
  2. 你知道为什么要电话面试吗(评估应聘者的能力)
  3. 你知道是评估应聘者能力,但你自我介绍说项目经验丰富,你应该自我介绍的时候就说你做过多少项目,突出一下你的特点
  4. 重新自我介绍
  5. 项目业务
  6. 项目背景
  7. 为什么要从一个单机版的项目转成一个线上项目
  8. 你怎么加入你说的团队的
  9. 学习成绩
  10. 为什么在专业中等水平(平时注重技术这块)
  11. 同学间有没有自己比较钦佩的人(专业第一和一个offer收割机)
  12. 钦佩的理由
  13. 职业规划
  14. 反问环节
后边总结一下这次leader面失利的原因就是自己废话太多。

4 总结

自身原因:基础太差,以前只管做项目,没考虑过底层的东西。数据结构和算法差的不行。这些东西想突击太难客观原因:油田项目开发周期太长,从去年七月份拖到今年三月交工。五月份因为项目保密的原因(代码不能放在GitHub上),三天内老师给我打了20个电话。还有的话就是对自己期望太高,想一步登天进大厂。大厂的要求以我现在的水平是远远不够的。面试失利后(尤其是京东二面和新零售二面)调整不了心态。建议也不敢说是建议,毕竟现在也没有正式上岸。只是自己春招失利后的一些想法
  1. 基础的东西一定要打好(尤其是数据结构和算法)
  2. 不太熟悉的东西尽量不要写在简历上
  3. 一步一个脚印慢慢来,先定个小目标(挣他个一个亿哈哈哈)
  4. 保持乐观的心态

有道无术,术可成;有术无道,止于术

欢迎大家关注Java之道公众号


好文章,我在看❤️

浏览 35
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报