2020.10.12东吴金科Java研发一面


前言

这次面试的节奏感觉非常好,之前是面试官拉着我走,这次基本上就是我引导面试官问我想回答的问题

一、自我介绍

面试官针对自我介绍里面的内容问了一些问题

1.Java和python的特点

答:我更多使用Java,python很久没用了。Java面向对象、代码复用、各种框架SpringBoot dubbo SpringCloud、代码规范整洁。python给我第一感觉是代码简单、随意,python有很多库,比如numpy、pandas、matplotlib,深度学习tensorflow大都用python

2.你学python干了哪些事?

答:了解基础语法,深度学习

3.介绍下深度学习

(谈了一些图像识别、卷积神经网络的内容)

二、项目

4.讲一下猫眼影院项目功能、技术

答:五大模块用户、影片、影院、订单、支付
Dubbo微服务框架、Zookeeper服务注册发现、链路监控、服务熔断、服务降级、流量控制…

5.Zipkin干啥用了?原理了解不?

答:用Zipkin进行链路监控,比如当项目上线之后,可以用zipkin进行调参,比如负载均衡。但是不了解底层原理

6.为什么用dubbo?微服务有啥好处?

(结合纯SpringBoot开发的仿饿了么外卖项目进行了对比。主要回答的方向就是扩容:将大的服务拆分,不同的服务可以部署在不同机器上,解决单体架构的瓶颈)

7.外卖项目担任队长,怎样管理的?

答:按照标准的软件工程开发流程,前期有需求分析、系统设计等文档,每人负责一个模块,开发过程中使用腾讯会议每天开个小会,总结每日工作情况。

三、编程基础

8.有哪些数据结构?

答:数组、队列、栈、链表、堆、树、二叉树

9.数组、链表的区别?

之前的博客中专门搞过 LoL
数据结构专栏:https://blog.csdn.net/qq_44357371/category_9468806.html

我讲完区别之后,特意提了一下HashMap综合了两者

10.讲一下HashMap

(先讲了HashMap的结构,又特意说了在JDK1.7和JDK1.8中hashMap的区别(加入了红黑树))

11.为什么红黑树占用的内存比链表要大?

(之前看过红黑树源码,手写了一点代码)我猜的:因为红黑树的每个结点有parent
父节点的指针、color、left、right,而链表只是一个next

12.讲一下垃圾回收算法

(我个人认为,要讲好垃圾回收这个题目,只说一个算法是远远不够的,甚至算法都没必要说,重点是讲垃圾回收的结构,发生垃圾回收的时机)
答:垃圾回收算法包括标记清楚、标记整理、复制。要说清楚垃圾回收,还要从JVM的内存结构说起,垃圾回收主要回收的是对象,对象是存在堆中的,而堆里面结构分为两大部分:老年代、新生代。新生代分为三部分:eden伊甸园区、from、to,当对象来的时候,先进Eden,当它满了,就发生一次小垃圾回收,活的进from,当from满了,活的就进to,to满了,就再进from,之后就一直这样循环,直到 ①某个对象岁数达到(好像是15),就直接把这个老不死对象放进老年代 ②当新生代全满了,进老年代。当老年代满了,就发生最大的垃圾回收,STW,让整个程序停止。

具体可以看我的另一篇博客:Java堆内存介绍及简单性能调优

三、算法

13.你最近做算法都哪些方面的?

答:没有刻意去练习某个方面的算法题,我平时刷算法主要是为了锻炼自己解决问题的能力和思路,我更注重的是一个题目有多少个解决方案。

14.平时喜欢跑步?

问到这里,瞬间就轻松了,哈哈哈哈


总结

继续努力,继续复习计网、操作系统、JVM
再做一点业务代码,练下感觉

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值