前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java后端实习面经,电子科大大三读者投稿!看了之后感触颇深!很开心!

Java后端实习面经,电子科大大三读者投稿!看了之后感触颇深!很开心!

作者头像
Guide哥
发布2020-05-07 16:19:16
1.2K0
发布2020-05-07 16:19:16
举报
文章被收录于专栏:JavaGuideJavaGuide

大家好!我是 Guide 哥(这俗气的开头,Guide 哥内心暗自 BB)。

这篇文章是我的一位读者的投稿,为了方便称呼加上这位老哥的头像是哆啦 A 梦,我暂时称呼这位读者为哆啦 A 梦吧!哈哈!

那天我在朋友圈发了一个说说来恭喜一位校招成功进入网易的读者,然后哆啦 A 梦就评论说我的 JavaGuide 对他的帮助很大,他自己也成功拿到了京东的实习。每次看到这类消息,你可以脑补一下坐在屏幕前的傻笑的我,哈哈!

然后,我就给哆啦 A 梦说,他可以分享一下自己的找工作的一些经验,结果第二天哆啦 A 梦就给我发了过来。看了之后,感觉写的真的很用心!下面的内容尤其对面试没有把握或者学习没有方向的人有很大帮助!

关于我

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

由于我们学院特殊的安排,我们基本所有必修专业课程的学习都在大一和大二修完,大三上半学期有少量的专业选修课程和思政课。大三下整个学期都是要去企业完成 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 的区别是什么?
  • ConcurrentHashMapHashMap的区别是什么?ConcurrentHashMap为什么线程安全?
  • HashMap 和 HashSet 的区别?HashSet 是如何检查重复的?
  • Java 中线程的状态?join()、yield()方法是干什么?
  • Object 类下有哪些方法?
  • 字符串"123"转换成整型123API是什么?整型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 还有太多太多不足的地方,后面的日子会继续完善下去。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于我
  • 准备面试
  • 面试真题
    • 数据结构与算法篇
      • 计算机网络篇
        • 操作系统篇
          • 数据库篇
            • Java 基础篇
            • 写在最后
            相关产品与服务
            数据库
            云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档