携程暑假实习后端开发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的值传递和引用传递的区别?
  • 如何克隆一个对象?(深拷贝和浅拷贝)

反问

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

相关推荐

11-12 23:03
武汉大学 C++
开心的豹子最喜欢夏天:C C有技术壁垒和学历壁垒,Java是个人都能学
投递牛客等公司
点赞 评论 收藏
分享
评论
6
33
分享
牛客网
牛客企业服务