小米|Android工程师|一二面|已OC

已OC

一面:
自我介绍
项目
C、C++、Java区别
面向过程和面向对象区别
final关键字
synchronized
抽象类和接口区别
OOP三大特性
安卓四大组件
重载和重写
collection和map
项目
activity
service
算法:寻找最小父节点

————————————————————

二面:
项目
类加载机制和过程
单例模式
synchronized
hashmap底层原理
输入网址到显示页面过程
事务隔离级别
反射
线程的状态有哪些
activity生命周期,由一个activity调用另一个activity
DNS寻址过程
内部类和静态内部类
run和start
OnStop和OnPause区别,是否可见
算法:
手写一个线程安全的单例模式并如何调用
每隔k个字符翻转一次字符串,不足k个不翻转

————————————
其实二面问的比较深入,每个点都会深入往下问,直到问的我说不出来了位置(哭哭)
两轮的面试官都很友善,会给你解答疑惑以及对你的答案进行补充


#面经##小米##安卓工程师##校招#
全部评论
楼主你好,请问你是实习、校招还是社招?
点赞 回复
分享
发布于 2021-04-22 14:17
package com.company.base; import java.util.Arrays; import java.util.Collections; import java.util.List; public class ReverseString {     public static void main(String[] args) {         String str = "每隔k个字符翻转一次字符串,不足k个不翻转12";         String result = reverseStr(str, 3);         System.out.println(result);     }     public static String reverseStr(String str, int k) {         if (str == null || str.length() == 0)             return null;         String[] result = str.split("(?<=\\G.{"+k+"})(?=.)");         StringBuffer buffer = new StringBuffer();         for (String item : result) {             if (item.length() == k) {                 List<String> asList = Arrays.asList(item.split("(?<=\\G.{1})(?=.)"));                 Collections.reverse(asList);                 asList.forEach(s -> {//能不能不要再次循环了?                     buffer.append(s);                 });             } else {                 buffer.append(item);             }         }         return buffer.toString();     } }
点赞 回复
分享
发布于 2021-04-22 18:41
百信银行
校招火热招聘中
官网直投
小米好像很缺安卓
点赞 回复
分享
发布于 2021-04-22 20:00
但是不知道为啥不招实习🤣
点赞 回复
分享
发布于 2021-04-22 20:00
巧了 同一道算法题
点赞 回复
分享
发布于 2021-04-22 20:14
楼主二面面试官姓张嘛
点赞 回复
分享
发布于 2021-04-23 09:53
是南京的吗?
点赞 回复
分享
发布于 2021-04-27 07:58
楼主你两面间隔多长时间呀?今天刚一面完
点赞 回复
分享
发布于 2021-04-27 20:46
老哥是oc几天之后发的正式offer啊
点赞 回复
分享
发布于 2021-04-29 01:36
请教下楼主面完多久OC?我还在等通知
点赞 回复
分享
发布于 2021-05-31 15:50

相关推荐

3 14 评论
分享
牛客网
牛客企业服务