珍爱网内推 秋招Java 一面二面

  1. 自我介绍
  2. 介绍项目 (党建网站)
  3. Java基础
    重写与重载
    类与接口
    Object类的方法
    hashCode() equals()
    Map get() ConcurrentHashMap 实现O(1)的时间复杂度
    多线程
    线程与进程区别
    实现多线程的方式
    start()和run()方法区别
    wait()和sleep()区别
    线程池的实现, 两个参数 corePoolSize:核心线程数 maxPoolSize:最大线程数
    当核心线程数达到最大时,新任务会放在队列中排队等待执行

Java中锁
线程安全的类或者实现方式
ThreadLocal的应用场合,最适合的是按线程多实例(每个线程对应一个实例)的对象的访问,并且这个对象很多地方都要用到。

对传统的synchronize共享变量线程安全的问题进行比较
一个是锁机制进行时间换空间,一个是存储拷贝进行空间换时间。

JVM
内存分区
GC算法
什么情况导致JVM频繁Full GC, 解决方法

https://zhuanlan.zhihu.com/p/30234715
https://blog.csdn.net/sted_zxz/article/details/72476673

框架
SpringMVC是什么, 执行流程
1、前端控制器DispatcherServlet(不需要程序员开发)
作用接收请求,响应结果,相当于转发器,中央处理器。
有了DispatcherServlet减少了其它组件之间的耦合度。

2、处理器映射器HandlerMapping(不需要程序员开发)
作用:根据请求的url查找Handler

3、处理器适配器HandlerAdapter
作用:按照特定规则(HandlerAdapter要求的规则)去执行Handler

4、处理器Handler(需要程序员开发)
注意:编写Handler时按照HandlerAdapter的要求去做,这样适配器才可以去正确执行Handler
返回ModelAndView

5、视图解析器View resolver(不需要程序员开发)
作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)
返回View

6、视图View(需要程序员开发, jsp)
View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf…)
填充模型数据, 返回HTML页面给浏览器

数据库
索引的种类以及数据结构, 使用索引查询慢的解决方案
SQL 执行计划: EXPLAIN

二面: (比较水)
自我介绍
介绍项目
网站访问量大了, 性能优化
问了知道哪些排序算法
叫我解释堆排序的原理
手写冒泡排序的代码, 没错就是冒泡
最后出了一个题:
给用户生成1~10亿之间随机唯一且性能较好的序列号(正整数)

https://www.cnblogs.com/QQParadise/articles/6925164.html

你可能感兴趣的:(Java工程师学习技能)