pursue wind pursue wind
首页
Java
Python
数据库
框架
Linux
中间件
前端
计算机基础
DevOps
项目
面试
书
关于
归档
MacOS🤣 (opens new window)
GitHub (opens new window)
首页
Java
Python
数据库
框架
Linux
中间件
前端
计算机基础
DevOps
项目
面试
书
关于
归档
MacOS🤣 (opens new window)
GitHub (opens new window)
  • 技术面试题篇

  • 面试准备篇

  • 技术面试题自测篇

  • 练级攻略篇

  • 工作篇

  • 面经篇

    • 2021 虾皮,网易云,京东,阿里校招面经!附参考答案
    • 2022 字节跳动 Java 后端实习面经(附参考答案)
    • 2022 四年经验高级 Java 工程师面经
    • 2022 步步高 Java 后端 6 面面经
    • 2022 滴滴,网易,Shopee,B站,携程,阿里,字节社招面经总结!
    • 2022 金蝶 Java 后三面面经(已OC)
    • 2022美团、华为、字节 Offer 面经(附参考答案)
    • 2022腾讯云Java工程师一面 + 被捞一面 + 二面面经
    • 2年经验,2021 阿里、头条、美团,滴滴,京东面经
    • 4年经验,面试Bigo挂在了第三轮
    • 五面阿里,终获 offer!
    • 从考研失败到收获到自己满意的Offer
      • 双非本科、0实习、0比赛项目经历。3个月上岸百度
    • 笑傲Java面试

    • LeetCode

    • 面试
    • 面经篇
    pursuewind
    2020-11-22
    目录

    从考研失败到收获到自己满意的Offer

    # 关于我

    我现在是本科大三学生,在电子科大就读软件工程专业,在我大一大二的时候其实也并没有找到所谓的方向,将来想要从事什么岗位。只是一心想着先学好学校的专业课程,工作就业的事以后再说。我就一直用自己在学校课程上取得的一点点成绩在麻痹自己,逃避就业的现实。其实大家也都非常清楚,现在高校里面讲授的内容很多都是偏向于底层的一些理论知识,并不会具体教你框架、怎么做项目、怎么样写代码、即使有很多实验课程也都是非常地老套和实际情况差距非常大。这就直接导致一个很大的问题:我的编程能力很差,没有一点自信。

    由于我们学院特殊的安排,我们基本所有必修专业课程的学习都在大一和大二修完,大三上半学期有少量的专业选修课程和思政课。大三下整个学期都是要去企业完成 6 个月的实习。了解到很多优秀的学长在大三实习的时候就拿到了非常厉害的 offer 和优厚实习待遇,我当然是非常的心动,希望能够在大三下学期的时候能拿到一个不错的实习岗位。由于我个人是非常不愿意去做测试开发,算法开发的门槛又相对较高,然后就选择了 Java 这个方向。

    # 准备面试

    我其实在大二上半学期的时候修了 Java 这门课程,但是学校的 Java 课程是非常老套,和实际企业里的开发是完全脱节。在大三上半学期我当时就在网上找各种 Java 的学习路线,但我发现有很多学习路线看完都是“实力劝退”的感觉,因为内容太多太杂,对于一个想要入门开发的 Javaer 非常不友好。也是机缘巧合,在一个学长(很厉害的一个学长,目前在华科直博)推荐下,了解到 JavaGuide 这个开源项目,从那时起我才算是打开了新世界的大门。学习路线非常清楚,特别对于我们这种初学者的人来说非常友好,知识点的总结也在我后来面试过程帮了大忙。

    看到身边的大佬们手拿多个大厂实习 offer 不知道怎么选时,一方面是非常羡慕,另一方面就是觉得自己是在还以前欠下的债,所以大三上整个学期我的压力都是挺大的,边学习 Java 的技术栈边准备面试。前前后后面试的公司有百度、成都 SAP、京东(京东数科)、新浪微博等,最终也算是如愿以偿,马上准备入职京东。

    至于我怎么准备的面试?我觉得很重要的一点就是根据自己写的简历和所投递岗位的 JD 有针对性地复习。在简历上最为重要的版块就是项目经历和技能清单这两块,这两部分直接决定了能不能拿到面试资格和面试官怎样提问。所以我当时就遇到了一种窘境,因为我是边学 Java 边面试,项目这部分可写的非常少,基本就没有。

    我看过各大公司的招聘需求:Java 开发现在基本都是 SSM、SpringBoot 框架等等,当我学完了这部分之后,我就跟着学校老师那边做了一个 Java 后端的项目把学的框架练习了一遍,写在了简历上,之后我就对项目中的技术点进行复盘。

    在当时我确实有着投机的心态,但是必须要有这样一个项目,否则我可能连面试的机会都没有,在参加了多次面试之后我的感受就是:作为实习生,项目这一方面重点在于面试官他要确认你是实实在在地做了,并且有你自己的思考和收获。面试的重点其实是在很多基础的问题上(面试题放在后面),在基础这部分,我反复地复习 JavaGuide 上面的基础知识点,在这里必须感谢 JavaGuide,这可以说直接影响了我在面试中的表现。

    # 面试真题

    下面的面试题是来自百度、京东、新浪微博,我进行了一个总结,希望能帮到大家,划重点的部分表示反复被问到

    # 数据结构与算法篇

    • B 树和 B+树的区别
    • 你了解哪些排序算法?算法的思想、时间复杂度、空间复杂度?
    • LeetCode 第 1 题及第 15 题:两数之和及三数之和问题

    # 计算机网络篇

    • TCP 三次握手、四次挥手流程?为什么三次,为什么四次?
    • TCP 和 UDP 区别,有 TCP 为什么还要有 UDP?
    • TCP 粘包和拆包问题有了解吗?
    • TCP 是怎样保持连接的?

    # 操作系统篇

    • 并发编程中死锁有了解吗?死锁产生的条件是什么?你在项目中是怎样解除避免和解除死锁的?
    • 进程的都有哪些状态?怎么转换的?
    • Linux 下文件的操作命令

    # 数据库篇

    • 数据库范式了解吗?在你的项目中怎么运用的?会出现什么问题?
    • 数据库索引了解吗?MySQL 中索引底层是怎么实现的?
    • MySQL 中存储引擎 InnoDB 和 MyISAM 有什么区别?分别用于什么场景?
    • 数据库事务有了解吗?事务的隔离级别?你在项目中使用的隔离级别是什么?
    • SQL 优化有什么思路?
    • 项目中使用到外键了吗?外键作用?使用外键要注意些什么问题?
    • 除了 MySQL 数据库你还用到哪些数据库?Redis 数据库和 MySQL 数据库的区别?
    • 设计一个数据库表

    # Java 基础篇

    • 类和对象的区别?
    • 讲讲 static 关键字和 final 关键字
    • synchronized 关键字是怎么用的?底层实现有了解吗?还有用过其他的锁吗?
    • BIO、NIO、AIO 区别有哪些?项目中有用到吗?Netty 了解吗?
    • 接口和抽象类的区别?什么时候用接口,什么时候用抽象类?接口可以继承接口吗?
    • HashMap 和 HashTable 的区别是什么?
    • _ConcurrentHashMap_和_HashMap_的区别是什么?_ConcurrentHashMap_为什么线程安全?
    • HashMap 和 HashSet 的区别?HashSet 是如何检查重复的?
    • Java 中线程的状态?join()、yield()方法是干什么?
    • Object 类下有哪些方法?
    • 字符串"123"转换成整型_123_的_API_是什么?整型_123_转换成字符串“123”的 API 又是什么?
    • 创建线程有几种方式?分别是怎么做的?
    • 线程池用过吗?如何创建一个线程池?其中各个参数的含义是什么?为什么要用线程池?coreSize?
    • synchronized、ReentrantLock 区别?
    • CountDownLatch 和 Semaphore 用过吗?他们的区别是什么?CountDownLatch 应用场景?比如现在要让第 5 个线程等待前 4 个线程执行完毕再执行,具体怎么做?
    • 使用 synchronized 来实现单缓冲区的生产者消费者模型?
    • JVM 有了解吗?JVM 中参数–Xms和-Xmx是什么意思?
    • 设计模式有了解过哪些?单例设计模式知道哪几种写法?策略设计模式了解吗?你在项目中用到了哪些设计模式?
    • Spring 中依赖注入有几种方式?怎么做的?
    • Spring 框架中有哪些组件了解吗?分别做什么的?
    • SpringMVC 的这种 MVC 模式了解吗?他的工作原理是什么?用到了哪些设计模式?(基本每轮面试都被问到)
    • SpringMVC 中要接受用户传来的参数要怎么做?REST 的风格呢?
    • Spring 中 bean 的创建过程了解吗?
    • SpringBoot 和 SpringMVC 的区别和联系是什么?了解 SpringBoot 的启动流程吗?SpringBoot 自动配置是如何实现的?

    总结:其实我们看上面的问题,整体来说还是非常地基础,尤其对于实习生和应届生来说,基础是第一位的,就包括百度和京东的面试官都在面试最后给我强调基础的重要性

    # 写在最后

    以前觉得自己还小还早,告诉自己才大一大二,可是当突然把自己推向生活的洪流,我仿佛什么都做不了。有了这段找实习的经历,我觉得自己成长了不少,要勇敢地跳出自己的舒适圈,当自己不知道做什么的时候就去面试,让社会对你进行评价。

    在这个过程中,我也眼看着很多好的机会从我身边流走,都是因为自己还不够优秀,虽然现在有幸拿到了实习机会,但我也时刻告诫自己要保持学习,沉淀自己,当有更好的机会来临时我能够抓的住。

    在 Java 开发这条路上,我也算是刚刚入门,要学的还很多,作为 JavaGuide 的忠实粉丝,再次感谢 JavaGuide! (Guide 哥故意加粗了一下,开心 😄)

    Guide 哥注:生活要继续,学习也要继续。对我而言,JavaGuide 还有太多太多不足的地方,后面的日子会继续完善下去。

    Last Updated: 2023/01/30, 11:01:00
    五面阿里,终获 offer!
    双非本科、0实习、0比赛项目经历。3个月上岸百度

    ← 五面阿里,终获 offer! 双非本科、0实习、0比赛项目经历。3个月上岸百度→

    Theme by Vdoing | Copyright © 2019-2023 pursue-wind | 粤ICP备2022093130号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式
    • 飙升榜
    • 新歌榜
    • 云音乐民谣榜
    • 美国Billboard榜
    • UK排行榜周榜
    • 网络DJ