顺丰科技面试-java开发
顺丰科技的面试官感觉人都挺随和,总共经历三面,两轮技术面,一轮hr面。
一、专业面一
主要是对着我的简历上的东西问,我的一个项目经历,两个实习上面以及自己提到会的技能展开的提问。
(1)自我简介
(2)对实习一(招商银行基于工作流的资金审批系统开发)内容的提问,前后端分离原则简单叙述,基于后端写前端页面时,如何对于登录人的权限进行管理,比如在rest接口写什么,实现不同登陆人的访问权限控制。这个我没回答上来,因为之前在写这个系统时,只是简单写了一些前端页面,来测试后端的所有功能有没有实现。对这个问题没有解决
(3)实习一中使用的数据数据量有多少,有没有考虑过在高并发访问环境下你们的这个系统承载力?我的回答是no。
(4)假如你的系统现在突然cpu的占有率非常高,你有没有考虑过怎么分析这个问题,以及处理方法。我就回答垃圾回收。文有没有使用什么工具可以观测这个进程的堆情况,我回答了可以使用一个插件,能够实时图形化观测堆的情况(Eden,Suvival,老年代等),但名字记不起来了。
查了一下,在命令行中输入jvisualvam,这是jdk自带的观测java进程运行情况的工具。


(5)UML的几种类型?
(6)实习二(中国移动风控项目,数据挖掘),看见有使用linux系统的经历,问常见的命令,这个我真不会只回答了,会使用常见的查看,执行命令。好像问了一个,如何查看某个时间序列命名的文件,如何查看某个时间范围内的。这些文件的文件内存(是不是内存,还是其他的我记不清楚了,因为确实不太会linux系统)?
开始问简历上写的技能了,主要三个,jvm、锁、hsahmap
(7)jvm会不会?里面包含哪些部分,你把你知道了的写一下。然后我就画了一个jvm的栈,堆,方法区,程序计数器的大概图。然后,写了一个语句,问执行这个语句,jvm的这些部分会发生什么变化。
public class B{
public A classA=new A();
}
我解释了一遍,栈,堆,方法区、程序计数器的联系和变化
这部分面试前一天晚上才复习过一遍之前看的视频,所以回答的表较好,
(8)hashmap是不是线程安全的,与hashtable有什么区别。如果多个线程下,同时对一个hashmap共享变量正向put()操作,并且么个线程的key都不一样,那么,这个hashmap共享变量会不会线程不安全?
(9)有一个共享变量i初始值为0,现有10个线程各自执行一遍++i;那么最后输出的值会怎样?我回答小于100,那么最小值会是多少。我一开始回答是1,后来画图后考虑了一下极端情况,改为10。我问面试官对不对,并解释了一遍,面试官说那就对呗。哈哈
(10)假设一个类存在很多方法。现在只要有调用这个类的这些方法时,系统能够打印出调用了这个方法的日志,该怎么实现?我回答动态代理
拿到通过卡等二面
二,专业面二
把一面问过的问题就跳过不再问了,面试官人很好,对于我不是很会的问题,都说没事
(1)集合框架包含哪些?collection包含哪些,队列,listl和set。问list的实现类哪些?arraylist的底层实现方法?我回答,数组实现。数组的初始长度多少?我回答10。arraylist和linkedlist的区别?后者线程安全,底层是双向链表实现。
(2)使用过什么框架,spring、springboot?我回答,springboot,但是只是使用了,对于底层不是太了解,就是使用注解方法,使编程更方便。
(3)使用过什么数据库?关系型数据库和非关系型数据库的定义、区别?我回答使用过mysql,关系和非关系的却别简单描述了一下,因为自己也不是特别清楚。初一到sql的题目给我。
表T
T(name,score,time),表中存着学生一学期内,各科目的成绩
问:学生在t1-t2时间段内,所有成绩总<=20的人,打印出他的名字,总分数,并且按照总分数成金降序排序
我:说不用太拘谨,里面时间戳和其他格式问题,能解决问题大概方法写出来就行了
select name,sum(score) from table where t1<time<t2 group by name having sum(score)<=20 order by sum(score) desc;
后来问了面试官,这对不对啊,他说,你回去写一下测试测试
(4)给个场景,spring中,接口interface A 存在很多实现类(B,C,D,E,F...)都实现了接口的方法,现在,要每个子类调用了接口中的某个方法时,要求向数据库中执行插入语句,表明调用了这个方法的记录。
额,这和上一个面试官问的问题一样。我说在spring中的话用AOP就行了,或者动态代理。面试官让我用动态代理写一遍,我说我动态代理好久没写了,他说你试试,写不出来没事,我就大概写了一下,最后实在记不清楚了,就和面试官说了写一下想法。面试官很nice
(5)泛型的作用,为什么要有泛型?
(6)最近都是怎么学习的?我就说看书,博客和教学视频课程。
然后结束,让我都等hr面。
三、hr面
(1)自我介绍
(2)对于顺丰科技的认识。(答的不好)
(3)自己的职业规划
(4)自己有什么优点,哪些还存在不足。觉得自己的学习们能够力怎么样
(5)目前有没有拿到offer或者等结果的企业
(6)预期薪资
(7)有什么想问的
总结:一二面的专业面官人很nice,态度很柔和,主要围绕你简历上提到的东西提问,没有问题太多尖锐的问题。hr面感觉自己表现的有点差,希望能拿到个offer。
顺丰科技面试-java开发的更多相关文章
- 2017年11月23日**科技面试java工程师面试总结
从整个面试看了,表现并不理想,有很多不足. 1.关于手机页面闪现问题的处理.从原理上观察,页面闪现是因为异步请求导致的.在进入页面中首先会加载默认的东西,此时也会访问数据库端,会用ajax判断是否满足 ...
- 2019最新最全Java开发面试常见问题答案总结
2019最新最全Java开发面试常见问题答案总结 马上准备9月份出去面试Java开发,自己学习丢西瓜捡芝麻,学了的都忘了,所以有机会自己做个学习笔记,摘录自各个博文以及总结. 1.JAVA面向对象的特 ...
- Java开发笔记(六十六)映射:HashMap和TreeMap
前面介绍了两种集合的用法,它们的共性为每个元素都是唯一的,区别在于一个无序一个有序.虽说往集合里面保存数据还算容易,但要从集合中取出数据就没那么方便了,因为集合居然不提供get方法,没有get方法怎么 ...
- Java开发面试总结
Java开发面试总结.. ----------------------- java 基础知识点这一块: 1.面向对象的三大特征.(继承,封装,多态) 1.1 在什么样的场合下面会使用到继承 1.2 什 ...
- 知名互联网公司校招 Java 开发岗面试知识点解析
天之道,损有余而补不足,是故虚胜实,不足胜有余. 本文作者在一年之内参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几 ...
- Java开发岗面试知识点解析
本文作者参加过多场面试,应聘岗位均为 Java 开发方向.在不断的面试中,分类总结了 Java 开发岗位面试中的一些知识点. 主要包括以下几个部分: Java 基础知识点 Java 常见集合 高并发编 ...
- 最近面试 Java 后端开发的感受!
阅读本文大概需要 4.3 分钟. 首发:cnblogs.com/JavaArchitect/p/10011253.html 上周,密集面试了若干位Java后端候选人,工作经验在3到5年间.我的标准其实 ...
- 最近面试java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备
在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间.我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面 ...
- JAVA开发工程师面试(1)
我已经有很长一段时间没有更新博客了,难道是博主我变懒惰了吗?哎,这样可不行啊,我还有好多知识要学习,要和大家分享.以后我需要更加努力,改掉自己的惰性.本人文采不怎么样,只能是把自己所想的说出来,想和大 ...
随机推荐
- Anaconda中安装Cascade RCNN(Detectron)的若干问题
安装参考https://github.com/zhaoweicai/Detectron-Cascade-RCNN/blob/master/INSTALL.md 1.对于在 python detectr ...
- AWS EC2避免误删软件包和数据的方法:取消“终止删除”默认配置
本文介绍AWS在终止实例的时候如何保留根卷,避免误删软件包和数据. 作者:光环云 尹晓征 在aws控制台创建EC2的时候,我们在添加存储步骤中,如果使用默认配置的情况下,“终止时删除”配置默认是被选中 ...
- 【计算机视觉】深度相机(五)--Kinect v2.0
原文:http://blog.csdn.NET/qq1175421841/article/details/50412994 ----微软Build2012大会:Kinect for Windows P ...
- Java学习笔记-包装类
基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换 包装类的由来 为了解决8种基本数据类型的变量不能当成Object类型变量使用的问题,Java提供了包装类(Wrapper ...
- mysql根据时间统计数据语句
select FROM_UNIXTIME(`createtime`, '%Y年%m月%d日')as retm,count(*) as num from `user` GROUP BY retm se ...
- js穿梭框;将两个table中的数据选中移动
将table中选中的数据移动到右边: 点击一行中的任意一个位置,使其选中: 注:attr()和prop()都是jquery的方法: .attr() : 获取匹配的元素集合中的第一个元素的属性的值 或 ...
- SQL Server 学习之环境搭建
SQL Server 环境搭建 说明:本文是sqlServer的安装和测试环境的搭建 版本是SQLServer 2005版,由于该版本只能在Windows7或者更低的系统上才能安装,更高的系统请安装S ...
- MySQL中的InnoDB中产生的死锁深究
查考地址:https://blog.csdn.net/loophome/article/details/79867174 待研究中.....
- 【AtCoder】ARC066
ARC066 C - Lining Up 判断是否合法即可,合法是\(2^{\lfloor \frac{N}{2}\rfloor}\) 不合法就是0 #include <bits/stdc++. ...
- C程序设计语言练习 第三章
3.3 else-if语句 折半查找,这里通过一个折半查找说明三路判定程序的用法.该函数用于判定已排序好的数组v中是否存在某个特定的值.数组v的元素必须以升序排列.如果v中包含x,则该函数返回x在v中 ...