携程暑假实习后端开发Java二面面经

自我介绍

项目相关

  • 问我项目是用C还是Java,因为我有一个项目是C,一个是Java的。
  • 问我从这些项目中收获了什么?

主要回答了对于技术的提升(详细就不多说了)。

八股文

  • Java的类的加载机制

加载 连接(验证 准备 解析) 初始化 使用 卸载 主要讲了一下加载 连接 和初始化的过程

通过全类名获取定义此类的二进制字节流 将字节流所代表的静态存储结构转换为方法区的运行时数据结构 在内存中生成一个代表该类的 Class 对象,作为方法区这些数据的访问入口

  • (写代码)写个单例模式 我主要写了两种单例模式
// 饿汉式
public class Singleton {
    private static Singleton INSTANCE = new Singleton();
    private Sigleton(){};
    public static Singleton getInstance() {
        return INSTANCE;
    }
}
// 懒汉式
public class Singleton {
    private static volatile Singleton INSTANCE;
    private Singletion(){};
    public static Singleton getInstance(){
        if(INSTANCE == null) {
            synchronized(Singleton.class){
                if(INSTANCE == null) {
                    INSTANCE = new Singleton();
                }
            }
        }
        return INSTANCE;
       }
}
  • 这两种是否是线程安全的?
  • 你项目中用到了Spring吗?
  • 你都用到了那些Spring的特性?AOP,IOC, DI, @Autowired,@Resource......一大堆

IoC(Inverse of Control:控制反转) 是一种设计思想,而不是一个具体的技术实现。IoC 的思想就是将原本在程序中手动创建对象的控制权,交由 Spring 框架来管理。不过, IoC 并非 Spring 特有,在其他语言中也有应用。 为什么叫控制反转? 控制 :指的是对象创建(实例化、管理)的权力 反转 :控制权交给外部环境(Spring 框架、IoC 容器) 将对象之间的相互依赖关系交给 IoC 容器来管理,并由 IoC 容器完成对象的注入。这样可以很大程度上简化应用的开发,把应用从复杂的依赖关系中解放出来。 IoC 容器就像是一个工厂一样,当我们需要创建一个对象的时候,只需要配置好配置文件/注解即可,完全不用考虑对象是如何被创建出来的。 在实际项目中一个 Service 类可能依赖了很多其他的类,假如我们需要实例化这个 Service,你可能要每次都要搞清这个 Service 所有底层类的构造函数,这可能会把人逼疯。如果利用 IoC 的话,你只需要配置好,然后在需要的地方引用就行了,这大大增加了项目的可维护性且降低了开发难度。 在 Spring 中, IoC 容器是 Spring 用来实现 IoC 的载体, IoC 容器实际上就是个 Map(key,value),Map 中存放的是各种对象。 Spring 时代我们一般通过 XML 文件来配置 Bean,后来开发人员觉得 XML 文件来配置不太好,于是 SpringBoot 注解配置就慢慢开始流行起来。

  • Java的值传递和引用传递的区别?
  • 如何克隆一个对象?(深拷贝和浅拷贝)

反问

  • 实习生培养方式
  • 下个流程的间隔
  • 面试评价和以后如何学习(他说我面得还好)
#面试复盘##实习##面经##携程#
全部评论
哈喽,请问一下写代码的那个懒汉模式在哪里练习的呀?
点赞 回复 分享
发布于 2023-03-06 15:16 陕西
就问这么少吗
点赞 回复 分享
发布于 2022-04-10 17:27
老哥什么部门啊?oc了吗?
点赞 回复 分享
发布于 2022-04-09 12:20
恭喜同学成功投稿参与【面试复盘】,并通过审核! 请留意你的私信,官方红N人员将与你取得联系,进行奖励发放~ 戳:https://www.nowcoder.com/discuss/872618了解更多活动详情~
点赞 回复 分享
发布于 2022-03-28 21:49
楼主饿汉式和懒汉式标反掉啦
点赞 回复 分享
发布于 2022-03-28 22:52
请问楼主下个流程的间隔他怎么回答的呀?我也刚二面完
点赞 回复 分享
发布于 2022-03-28 19:49

相关推荐

昨天 18:50
已编辑
长沙学院 Java
个人背景:学院二本计科专业 大二开始实习个人经历:安克创新 、理想汽车、字节跳动碎碎念:我做事只有三分钟热度。看到进了大厂的同学,我会羡慕,也会跟着努力上进;但遇到好看的小说,我又会放下手头的事沉迷其中,之前的坚持也就中断了。我有些自卑,总觉得自己学历和外貌都不够好。之前偶然在网上受到关注,我就喜欢上了上网,因为这里有很多人认可我。但我也很在意别人的评价,偶尔看到嘲讽的言论,会触发我的自卑情绪,让我感到愤怒。有时候我会强硬地回怼,有时候又会懦弱地选择无视。我也有虚荣心。不管是拿到安克、理想还是字节的机会,我在分享的时候都会带着这份心思。我会特意强调自己学历不好,是为了衬托出过程的艰难,以此显得自己更厉害。我知道,人往往会炫耀自己缺少的东西,来掩盖内心的空洞。我总想着走捷径,不太喜欢踏踏实实地做事。找实习的时候,我花了更多时间在研究面试技巧上,而不是提升专业能力。我会反复听面试录音分析技巧,看面试教程学习怎么和不同的面试官沟通,还会每天自言自语练习语言表达,同学都觉得我有点奇怪。我的实习生涯里,侥幸和运气占了很大一部分。我总在想,如果有一天我失去了这份幸运,这些特质可能会让我一蹶不振。ps: 很多人会问我学习路线和经验 但是就像我上面说的 我的实习过程靠的很多是关键节点的运气 技术上面我可能不如很多人  所以请大家理性求助和理性参考我的回答 附上我的投递记录
我的offer在哪里...:从去年看到现在,飞升哥就是榜样
我的求职进度条
点赞 评论 收藏
分享
评论
6
33
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务