深圳市无双软件科技有限公司社招Java工程师

技术栈招聘要求:
  • Java基础扎实,熟悉常用的设计模式
  • 具有良好的面向对象编程经验,深入理解Springcloud,SpringBoot/SpringMVC等开源框架
  • 熟练使用oracleMysql等数据库系统
  • 掌握缓存、消息队列等相关技术、如Redis、Mongodb、RocketMQ等技术及其原理
  1. JVM内存区域?-------线程私有的:程序计数器,虚拟机栈,本地方法栈;线程共享:方法区,堆;直接内存
  2. JVM类加载机制以及类加载器?----加载,验证,准备,解析,初始化,使用,卸载。类加载器:启动类加载器,扩展类加载器,应用程序类加载器。
  3. 双亲委派机制?---------当一个类收到了类加载请求,首先会委派给父类去完成,依次类推所有的加载请求都传送到了启动类加载中。只有当父类加载器无法完成这个请求的时候,子类加载器才会尝试自己去加载。
  4. 如何确定一个对象可以被回收,回收算法有哪些?---------引用计数***产生循环引用的问题。可达性分析法,一个对象没有可达GCroot的路径,则可以判断被回收。回收算法:标记清除法、复制、标记整理、分代回收等
  5. Java的BIO/NIO/AIO的理解?---------BIO属于阻塞式IO,当用户线程发出IO请求之后,内核回去查看内核是否准备就绪,如果没有就绪就等待数据就绪,其间用户线程会交出CPU等待。NIO非阻塞式IO,当用户发起一个read操作,不需要等待会得到一个结果,如果数据没有就绪会返回一个error,用户线程可以再次发送read操作,轮询操作会占用CPU。AIO异步处理,用户线程发起read操作之后,立刻得到返回可以操作其他任务,内核等待数据完成后会通知用户线程。
  6. synchronized和ReentrantLock的异同?---------同:多共享资源的控制,都是可重入锁,保证了可见性和互斥性。异:ReentrantLock通过方法获取/释放锁,synchronized是隐式获得释放锁。ReentrantLock中的方法可以灵活地执行中断等操作,而synchronized关键字完全不在开发人员的控制中。另外ReentrantLock可以实现公平锁,通过Condition绑定多个条件……
  7. 什么是CAS?----------内存值等于预期值才会更新内存值为一个新值,否则什么都不做。所以CAS原理属于乐观锁,任何线程都可以操作共享资源,但在提交时还先做比较。
  8. 你了解那些设计模式?------单例模式、工厂模式、daili模式等,可以举几个伪代码例子。
  9. MySQL索引以及其数据结构?-------索引的目的就是对数据内容的快速查找。不同的存储引擎有不同的索引数据结构,InnoDB存储引擎的默认索引实现为B+树。
  10. B+树和Hash索引有什么区别和优劣?-------Hash底层为Hash表
  11. 了解那些MySQL锁?----------不同的存储引擎采用的是不同的锁。MyISAM采用的是表级锁;InnoDB既支持行级锁,也支持表级锁。行锁,访问数据库的时候,锁定整个行数据,开销大加锁慢,会出现死锁,并发度高;表锁,访问数据库锁定整个表数据,开销小,加锁快,不会出现死锁,并发度低。
  12. 能否描述下SpringCloud?------微服务的架构,其组件:Eureka负责服务注册,服务发现,服务与服务之间通过Eureka调用关联,调用者称之为消费者,被调用者成为生产者。Feign组件是服务之间的信息传递,消费者只需要URL、参数、请求方式就可以调用生产者。Ribbon负载均衡,将消费者发送的调用请求根据Ribbon策略在多个生产者访问其中一个生产者。Hystrix断路器当某个服务出现故障,Hystrix可以通过预设处理机制调整服务的响应返回错误信息。Zuul网关组件,过滤和路由。
  13. springmvc的过程原理?----------用户发送请求至前端控制器DispatcherServlet,DispatcherServlet收到请求调用HandlerMapping处理器映射器,处理器映射器根据url找到具体的处理器,生成处理器对象返回给DispatcherServlet,DispatcherServlet通过HandlerAdapter处理器适配器调用处理器,执行处理器返回ModelAndView,HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet,DispatcherServlet将ModelAndView传给ViewReslover视图解析器,返回具体的view渲染视同在通过DispatcherServlet响应用户。
  14. HR寒暄问题-----------略
#Java工程师##社招##面经#
全部评论
没问项目?
点赞 回复
分享
发布于 2019-12-06 19:42

相关推荐

4 19 评论
分享
牛客网
牛客企业服务