携程暑假实习后端开发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 陕西

相关推荐

问的很有深度,从一个点开挖,开放性的回答并且对不理解的问题大胆猜测,场景很多,有难度。全长55分钟。项目情况1.了解项目整体团队构成以及目前情况2.团队配合是怎么样的3.开发过程中有遇到什么问题4.你觉得项目开发过程中大家做的好和不好的点在哪5.举一个例子,对于基础薄弱的问题如何解决6.作为项目负责人职责是什么,如何推动项目落地7.如何转达需求8.你觉得是在转达需求过程中收获更大还是写代码的时候成就感更高9.项目交付后还跟甲方有什么沟通吗根据功能深挖10.项目涉及到搜索功能吗,支持哪些字段或类型的过滤11.编号查询是模糊查询吗(这个概念不是很了解,但大概意思表达明白了)12.如果编号有一百万条,那你的下拉框过滤功能应该怎么设计13.(上面提到了关键字查询)如果实现关键字查询,整个查询流程大概设计一下14.假设就是上面那种查询,怎么样能够使得用户快速获取数据并且是用户想要的15.用户是应该每打一个字就搜索一下还是应该输入完后点击触发(引出防抖问题)16.后端部署在本地,如何访问后端呢(项目特有)17.访问后端用的是什么样的地址18.公司服务器的地址是什么样的形式?和前端是一个域名吗19.项目开发中如何解决跨域20.讲一下标准的跨域概念和解决方案21.为什么会有跨域这个概念22.为什么会有同源策略23.还知道其他前端安全相关的风险问题以及解决方案吗24.网络攻击的防范在实际项目中有实际应用吗(真没注意,应该有的)场景题25.现在打开一个网页,里面有一个下载地址,但是你点击的话下载失败了。但是你打开一个新页面,把这个地址复制粘贴到浏览器地址栏中,回车下载成功了,可能的原因是什么(面试官提示跟防盗链机制相关)26.简单介绍一下CDN基本概念27.CDN如何使用28.假设你购买了很多CDN厂商的服务,但是突然有一天一家厂商的CDN服务器挂了,应该如何设计让你的用户不会受任何一个厂商服务器挂了的影响29.如何实现CDN备用30.谁去判断离用户最近的CDN服务器有没有目标资源31.如果判断有这样一个节点可以访问,但是它挂了怎么办32.页面如何引入资源33.引入资源、DNS解析还有CDN节点整个调用链路是什么算法:数组中两数和为target的元素下标数组#25届暑期实习##前端##携程##我的实习求职记录#
点赞 评论 收藏
转发
6 33 评论
分享
牛客网
牛客企业服务