小米软件开发工程师(Java方向)面经

一面(9月5日)
为什么研究生做CV,现在找研发岗位;
描述进程控制块PCB,进程控制块中进程的哪些信息;
http与https的区别,https为什么能保证安全,客户端与服务端通过https进行交互的过程;
SQL中的几个基本命令,使用哪个命令可以在数据存在时进行更新数据,数据不存在的话则插入数据;
两个链表,找链表是否有交点,怎么找到交点;我说了自己思路后,面试官说让我使用栈来做一下(两个链表分别压入两个栈,如果栈顶元素相同的话说明有交点,然后同时pop,直到pop到两个栈的栈顶元素不相同的,说明刚才pop出来的结点是两个链表的交点);
讲一下自己对Java的理解,Java最大的特点,和其他语言相比有哪些鲜明的优势;
简单介绍一下单例模式、工厂模式、装饰着模式;
Java中注解是干嘛用的,这个我没回答好,面试官应该是想让我讲一下对Java注解的理解;
输入一个URL,URL中有个要调用的方法的字符串,那从输入URL到服务端调用相应的方法,都经过了哪些过程,用到了什么技术;
面试官问我个人对哪些技术了解的比较深入,有什么优势,对于哪些内容有比较独特深入的理解;
我做一个项目的时候,会怎么着手去做,会去如何完成好一个项目;
写代码:(1)从一个数组中找连续子数组的最大和;(2)两个字符串的最长公共子串的长度;这两个都是动态规划里面的基础题目,从了leetcode上可以找到对应的题目;
描述Dijkstra算法;
问我有什么问题;

二面(9月9日)
开始就先聊聊项目,项目多是CV相关的,简单聊了聊;
然后ConcurrentHashMap的实现原理;
AtomicInteger的实现原理,自己简单实现一下AtomicInteger中的increase()方法,写代码;
写代码实现一个装饰者模式;
两个一组翻转链表,写代码实现;
写代码,算法题:给定一个非负数组,A、B俩人轮流从数组头部或尾部取元素,AB俩人都会以对自己最有利的方式取元素,直到数组元素取完,取到元素和最大的玩家赢,求先手能否赢得游戏。
二面的内容基本就是这些,算是写了4个代码题,基础知识方面基本没问。面试官看着帅气而且友善(都说小米面试官帅,还真是),让我见一见下一轮面试官吧,哈哈。
#小米##面经##Java工程师##校招#
全部评论
一面电话?
点赞 回复 分享
发布于 2019-09-10 00:25
占个坑,等一面
点赞 回复 分享
发布于 2019-09-10 00:29
你是硕士吗,项目CV是算法转开发?
点赞 回复 分享
发布于 2019-09-10 09:15
中科大的cv研究生要转开发??
点赞 回复 分享
发布于 2019-09-10 17:06
二面是邮件通知还是电话直接面?
点赞 回复 分享
发布于 2019-09-10 21:10
这是看你学历问的吧,我感觉难度比之前看的都高
点赞 回复 分享
发布于 2019-09-11 11:34
总共几轮技术面试呀?
点赞 回复 分享
发布于 2019-09-11 18:25
有点难度
点赞 回复 分享
发布于 2019-09-12 01:05
我现在可以转测试吗
点赞 回复 分享
发布于 2019-09-18 23:06
能问一下小米软件开发Java岗都需要学习什么东西😁
点赞 回复 分享
发布于 2019-09-29 17:02
有三面吗
点赞 回复 分享
发布于 2021-12-10 15:33

相关推荐

5 102 评论
分享
牛客网
牛客企业服务