有赞电话一面+二面+三面(挂)

版权声明:如笔记。一点一滴,伴我成长。可转载 https://blog.csdn.net/Butterfly_resting/article/details/82897164

一面:

在图书馆突然收到以前瞎投的一家公司,有赞,电话面试,感觉要比现场面的更加随心所欲。。。

这次面试怕是想把老底都挖出来了。竟然跟陌生人说了44分钟。。。。感觉到技术官基础很扎实,

知道得好多。

问了很多,以问题形式发布:

  1. 自我介绍

  2. SSM框架,Bean的生命周期详细讲一下?源码级别!

  3. Spring的IOC了解吗,底层原理

  4. redis有哪些结构,讲下更底层的实现。RDB和AOP了解吗,讲下原理

  5. Maven用过是吧,它有哪些命令?

  6. 平时开发在Linux平台吧?说说你常用的命令?查看内存命令(又是这个。。。  free, cat /proc/meminfo, free -m

  7. HashMap的底层原理

  8. ConcurrentHashmap的底层原理

  9. String类是怎么实现不可变的?String的hashCode()源码看过吗,说下实现

  10. Object类有多少个方法

  11. 线程池?你了解哪些类型线程池?详细说下。

  12. JDK自带的线程池创建方式是什么?他的核心参数是什么?他有两个时间,都指什么?

  13. 线程池会有哪些漏洞?

  14. 你讲下线程池的工作方式,工作原理?

  15. 基本数据类型有哪些?有没有无符号字符的实现?

  16. java的元注解了解吗,自定义注解呢

  17. JVM了解吗?内存模型说下,垃圾收集器有哪些?了解G1吗?说下G1。垃圾收集算法说下

  18. JVM调优,有用过JVM的参数吗,说说你用过的。

  19. 你是在广州吗?(解释了一番),可能长沙没有现场招聘点,说可能三天后会有电话面试,电话面试一般2-3面。。

有赞二面:

突然二面,有赞进度有点快,裸面。。。。不知道什么原因,那边声音比较模糊,经常说“没听清”,46min

  1. 自我介绍

  2. 项目的一些看法

  3. java集合你说下,它的框架说下,那LinkedList是双向链表还是单向(双向),他有连个get方法,时间复杂度是多少

  4. HashMap和Hashtable的区别,Hashtable有关Synchronized是锁住什么?

  5. 堆排序和快速排序的实现,思路

  6. 数据库索引会吗?你知道哪些索引?

  7. 聚集索引和非聚集索引的区别?

  8. MyisAM和innoDB的索引的区别,讨论了复合索引的问题,说给username和grade建立复合索引

  9.  问,索引存放在哪?问索引存放的的地方?怎么管理的?是否还需要建立唯一索引?是否需要再走主键索引等

  10.  JVM了解吗?说下类加载?双亲委派模型怎么实现的?怎么实现自定义类加载器,有什么接口?感觉想要我写到吗?还好电面。。。。。tomcat实现了双亲委派模型?tomcat你了解多少?他还问了tomcat的源码。。。。

  11. SpringAOP的原理?(他提到了源码的实现,我说没看过源码,知道怎么概念实现)

  12. SpringIOC怎么实现的,核心类是什么?

  13. servlet是单例的吗?

  14. ThreadLocal你用过吗?说下原理。

  15. 说了一堆类(英文的),问我会不会。。。模模糊糊。。我问他拼出来,感觉adjghjhajgak巴拉巴拉,直接说不会。

  16. (忘了一些)最后你还有什么想问的,我直接问自己还要什么不足,希望在错误中成长。(感觉回答挺客气的,纠正了一些小错误)。

  17. 我问他开发岗好多研究生,问了下本科生跟研究生在面试中的区别?面试会不会有特别的对待(HR不知道,技术岗,除了两极分化,他说差距差不多,面试题也是差不多的)

  18. 说下周电话技术三面。。。。。(技术总监面,脸色说话都挺严肃的。。。。)

有赞三面:(挂)26min

刚现场面挂了顺丰,伤心的出来了,立马收到电话。。。老实说没什么心情再面试,头脑也是经过2个小时的公交冲击,每次都头晕脑胀的。面试官也算是抓住了自己的弱点吧,现场面会问SQL高级查询而电话面谈到了多线程和陌生的框架(比如Mybatis和Hibernate)。。。(这次告诉我不能说自己不熟悉的框架或者技术,尽量他不提我不提)

1.Mybatis的$和#有什么区别?resultSet和resultMap的区别?

2.除了SSM还学过什么框架吗?Hibernate和Mysbatis有什么区别?Hibernate一二级缓存区别。

3.看过什么源码吗?讲下HashMap?

4Spring源码看过吗?

5.ConcurrentHashMap的size方法怎么实现的?说源码实现

6.线程的状态有哪些?之间怎么转化的?

7.notify和notifyAll方法的区别?

8.如何判断线程是否安全?

9.的字段是用什么修饰的?voliate怎么实现的?举个类例子?有什么特性?能保证原子性吗?什么能保证原子性?

10.。。。。。

Maven用过是吧,它有哪些命令?https://www.cnblogs.com/wkrbky/p/6352188.html

创建你的maven项目的mvn archetype:generate

编译源代码    mvn compile

编译测试    mvn test-compile

 运行测试    mvn test

打包    mvn package

在本地Repository中安装jar    mvn install

清除产生的项目    mvn clean

源码打包:mvn source:jar

Object类有多少个方法

protected Object   clone()创建并返回此对象的一个副本。   

boolean   equals(Object obj)指示其他某个对象是否与此对象“相等”。   

protected void   finalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。   

Class<?>   getClass()返回此 Object 的运行时类。   

int   hashCode()返回该对象的哈希码值。   

void   notify()唤醒在此对象监视器上等待的单个线程。   

void   notifyAll()唤醒在此对象监视器上等待的所有线程。   

String   toString()返回该对象的字符串表示。   

void   wait()在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。   

void   wait(long timeout)在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。   

void   wait(long timeout, int nanos)在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。

String的hashCode()源码

默认情况下,Object中的hashCode() 返回对象的32位jvm内存地址。也就是说如果对象不重写该方法,则返回相应对象的32为JVM内存地址。

String 没有重写hashCode方法的类,直接返回32位对象在JVM中的地址

线程池会有哪些漏洞?

线程池使用完后需要shutdown,释放线程池资源

JDK自带的线程池创建方式是什么?他的核心参数是什么?他有两个时间,都指什么?

keepAliveTime表示线程没有任务执行时最多保持多久时间会终止

默认情况下,只有当线程池中的线程数大于corePoolSize 时,keepAliveTime才会起作用。

直到线程池中的线程数不大于corePoolSize。即当线程池中的线程数大于corePoolSize 时。

如果一个线程空闲的时间达到keepAliveTime,则会终止,直到线程池中的线程数不超过corePoolSize。

但是如果调用了 allowCoreThreadTimeOut(boolean)方法,在线程池中的线程数不大于corePoolSize 时,

keepAliveTime参数也会起作用,直到线程池中的线程数为0;

unit参数keepAliveTime的时间单位

java的元注解

@Target 表示该注解用于什么地方

@Retention 表示该注解可以保存的范围

3.@Documented 即拥有这个注解的元素可以被javadoc此类的工具文档化

4.@Inherited 允许子类继承父类中的注解

java有没有无符号字符的实现?

Java的原始类型里没有无符号类型,如果需要某个宽度的无符号类型,可以用>>>,这个是java的无符号右移操作符,或者使用下一个宽度的带符号类型来模拟

可以通过位运算的方式得到它们相对应的无符号值,如;

public int getUnsignedByte (byte data){ //将data字节型数据转换为0~255 (0xFF 即BYTE)。 

return data&0x0FF ; 

} 

Java 中的 LinkedList 是单向链表还是双向链表?

是双向链表

Servlet容器默认是采用单实例多线程的方式处理多个请求的:

猜你喜欢

转载自blog.csdn.net/Butterfly_resting/article/details/82897164