3/15

春季重拾状态
今天是春季第一个面试,面的非常非常差。。。。
java的基础之前只有一眼略过而没记牢,以至于我笔试的时候明明把八大数据类型都写过一遍了,第一个面试题八大数据类型的哪几种却没答全,然后面试结束的时候突然想起来没想到的是浮点型的那两位,我直接丢脸。
在这里记录我今天回答的丢脸问题,并且在这里重新回答。
1.八大数据类型
byte,Boolean,short,int,long,float,char,double
长度分别是1,?,2,4,8,4,2,8
这种问题我居然人呆住,我是真的有问题!
2.String是不是基本数据类型(这个倒是答出来了)
不是,是引用类型
3.常量池在哪(这个也答出来了)
1.6以及之前,在方法区
1.7,在堆
1.8,在元空间
4.集合有哪些(这个感觉没答到他想问的点)
集合有数组和链表,(我还答了set和map,这个有点争议)
在这里,我疯狂在说hashmap,拉链法,扩容,还有1.8之后的红黑树,头插,尾插
5.数组和链表的区别(正因为下一个问题是这个,我才觉得没答到他想要的,感觉上个问题他想要我多讲list,但我全在讲map)
数组:查改快
链表:增删快
数组:随机访问,内存连续
链表:不支持随机访问,内存不连续
*没答的点:数组大小固定(变更大小要乘以1.5)
链表动态大小
6.说一下设计模式
设计模式这一块我确实拉跨没的说,当时只说了单例和简单工厂,
其实要说的话应该是从结构型,行为型,创造型说起,但我太菜了~
7.多线程实现的方式
)1.继承thread类
)2.实现runnable接口
)3.实现callable接口
)4.线程池
8.以上实现线程最有效率的是哪个(这个我确实不会)
线程池;
9.范式(数据库理论就问了这个,这个还是答出来了,我反倒希望他继续问点数据库)
1NF:属性不可分
2NF:非主属性对主键的部分依赖消除
3NF:非主属性的传递依赖消除
10.锁有多少种(这个我也是直接蒙了,当时就答了悲观锁和乐观锁还有自旋,然后我整个人被关了)
答案:

偏向锁/轻量级锁/重量级锁

可重入锁/非可重入锁

共享锁/独占锁

公平锁/非公平锁

悲观锁/乐观锁

自旋锁/非自旋锁

可中断锁/不可中断锁

11.重载和重写的区别
当时我的答案:
重写是子类对父类的相同方法相同参数的实现
重载是同一类中,相同方法名但(参数,顺序)不一样的几个方法
(感觉我也没理解透,实际上我也真就没理解透多态)
网上答案:

(1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。

重载Overloading是一个类中多态性的一种表现。


    (2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。

调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。


    (3) 重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准。


    (1) 父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。

但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。

方法重写又称方法覆盖。


    (2)若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。

如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。


    (3)子类函数的访问修饰权限不能少于父类的;

引用:https://www.cnblogs.com/bluestorm/archive/2012/03/01/2376236.html
12.spring的IOC容器,是怎么实例化bean的
(spring一直是我的噩梦,我的源码一直在看,却一直进度很慢)
我的答案:通过xml文件配置,建造beanfactory,通过beanfactory生产bean来实例化。
(这种回答肯定是不符合他想要的)
网上答案:

方式一:通过bean的缺省构造函数创建,当各个bean的业务逻辑相互比较独立的时候或者和外界关联较少的时候可以使用。

方式二:利用静态factory方法创建,可以统一管理各个bean的创建,如各个bean在创建之前需要相同的初始化处理,则可用这个factory方法先进行统一的处理等等。

方式三:利用实例化factory方法创建,即将factory方法也作为了业务bean来控制,

果然网上的答案就专业化很多了,难受住
引用:https://www.cnblogs.com/lezijie/p/13686379.html
嗯~,还有什么来着,我想想,
13.说一下spring使用了哪几种设计模式

https://blog.csdn.net/qq_34337272/article/details/90487768

我只回答了代理,模板,单例,工厂,甚至还说了个错的mvc。
14.面向对象的理解。(这个答得好少!)
回答:https://blog.csdn.net/qq_35956122/article/details/80016680?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.control&dist_request_id=1328656.650.16158101995254789&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.control
这道题我只略微地说一下面向过程是开销大,性能好
15.面向对象的特性
封装继承多态(我只答了这三个)
正确应该是要多说点各自的特点!见上一题
16.他感觉还要问springboot,但我说我只跟着别人敲过,没看源码,然后他问了类加载是怎么实现的(这个真的是压到我的最后一根稻草,这东西,我真就之前看过但忘了,直接难受死,在那里比划,模糊印象,然后说有什么application)
网上答案:https://www.jianshu.com/p/dd39654231e0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值