首页 > 顺丰一面 2021校招 Java开发 9.4下午5点
头像
ShenYJ
编辑于 2020-09-07 20:26
+ 关注

顺丰一面 2021校招 Java开发 9.4下午5点

顺丰一面

约定用时:30分钟,提前一天邮件通知,不可更改其他时间段。
实际用时:30分钟。

自我介绍

巴拉巴拉巴拉

主要问题

  1. Java IO流了解吗?有哪些输入输出流?如何输入文件?如何输入输出excel,json?
    答:(上来就遇到最不熟悉的部分。。。)有了解过一些,主要分字节和字符输入输出,具体还分文件输入输出,带缓冲的输入输出等等。输入文件要看是什么文件吧(面向百度编程的我哪记得这些),txt可以用文件输入流那些(猜的),图片需要用其他处理图片的io库(不知道具体什么库)。excel那些自己之前用POI(实习用过),json也可以用文件输入流吧(继续猜)。(真别再问了,不会!)

  2. Java异常了解吗?有哪些?什么是Error什么是Exception?分别有哪些?平常开发的时候遇到过哪些?怎么处理?
    答:(会!脑海中浮现中那一颗思维导图树)了解过一些(都是一些),异常都是实现了throwable接口,主要分为Error和Exception,Error就是虚拟机内部的错误,程序无法抛出处理,也不需要程序对这些异常进行处理,主要有OutOfMemoryError和StackOverFlowError这两种。Exception主要是运行时异常还有IO异常。运行时异常遇到的比较多,像NullPointer, IllegalArgument, ArrayIndexOutOfBound, ClassNotFound这些。一般会在可能出现异常的代码块会使用try catch finally来捕获异常,然后可以选择在当前类throws出去,或者打印以及输出到日志。一般会用到getMessage或者printStackTrace来记录异常的堆栈信息,方便追踪和调试。

  3. Java并发了解吗?synchronized是什么?有哪几种锁?了解Lock吗?
    答:(有点虚)了解一点(一点点。。。),synchronized主要用于多线程同步,可以作为对象锁和类锁, 实现原理主要基于monitor(大概讲解了下)。Java1.6之前synchronized是重量级锁,1.6之后会经历锁升级的过程,从偏向锁,轻量级锁再到重量级锁,升级不可逆。Lock?不知道没用过(又一次查漏补缺),有了解过ReentrentLock,但没怎么用过。

  1. 你项目用到了SpringBoot,你能讲下什么是SpringBoot吗?
    答:(说好的框架只问Spring IOC和AOP的呢,抓头。。。)SpringBoot在我的使用过程中重要是作为脚手架开始项目,它主要就简化了很多默认配置,然后内置了Tomcat,可以更好的和SpringMVC以及SpringCloud联合开发。(就是那种好像做了很多事,但其实原本Spring也都有,就是简化开发部署的脚手架吧,我的理解)。

  2. 那还讲一下什么是SpringMVC?
    答:(脑海中换一张图,讲了一遍基于JSP的MVC模型和Restful的MVC模型)

  3. 你项目用的是Mybatis吗?能讲一下什么是JPA吗?
    答:之前其他项目有用过,目前这个项目主要用的SpringDataJPA,JPA主要就是数据库表的字段和Java数据对象的映射关系,blabla(自己也没有整的太清楚)。Mybatis需要写SQL语句来调用,JPA默认封装好了,但不够灵活。

  4. 项目里MySQL怎么建的表,有做哪些优化?
    答:建了用户表,商品表等等等等。对常用查询字段建立索引,看查询需求建立联合索引来减少回表。(怎么不追问了,B+树,InnoDB,事务三连呢?)

  1. 看你之前有做区块链项目,能讲一下什么是区块链吗?
    答:(凑简历字数的项目,讲了一下比特币和以太坊的区块链结构和模型,再讲下POW和POS公式机制,最后聊下我的项目)

  2. 看你对区块链了解还挺多,时间差不多了,你有什么要问我的吗/
    问:(第一家没有手撕代码的公司)目前主要业务,工作时间,地点,主要技术栈。
    答: 物流管理,平台,无人机,后台服务以Java为主。

后续

  • 9月9日 上午 9 点二面。
  • Loading...

更多模拟面试

全部评论

(4) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐