记一次地平线智能座舱-FAE职位面试

总结:1.职位是由国内某Top外包公司HR从智能招聘上看到我的简历后内推的,因此是外包性质职位。
   2.我参加面试的主要原因是薪资比较高+对项目感兴趣,很有挑战
   3.面试感受:HR和面试官都很好,也很正规,询问的也很有针对性有深度。
   4.个人表现:表现的的确不太好,尤其是三面时简单的整型数字反转题做的很差。
   5.还是要去刷LeetCode啊啊啊
   个人情况:19毕业,非科班,从3月份开始实习工作,到现在不足2年工作经验
一面 30分钟 20+5
1.自我介绍
2.framework
 2.1了解framework ,有哪些方面,有修改过framework么
   我回答:看源码、看API、修改过Settings Global
  2.2Settings Global是以那种方式存储
3.系统编译
  3.1应用是以apk还是Android.mk编译的方式
  3.2 so库怎么引入、编译
4.AIDL用法
5.视频应用
  4.1视频展示的控件
  4.2硬解码、软解码、当前是使用的哪种
  4.3获取视频编码信息
 4.4例子:一个mp4文件播放不了,怎么分析
 4.5视频数据怎么获取
5.音效应用
6.ANR、卡顿问题分析
 6.1 ANR原理
  6.1 ANR调用栈信息
  6.2 怎么分析
 6.3 平时怎么避免
   我回答:平时开发的时候通过内存泄漏、卡顿检测工具,从开始就尽量避免
  6.4 AS Profiler工具有使用过么
7.so
  7.1 对应3.2
  7.2 java加载so的方式
  7.3 so报错地址怎么转换为对应的代码函数
8.你有问题想问的
  1.智能座舱项目介绍
  2.FAE相关
  3.外包

二面 60分钟 15+5
1.自我介绍
2.四大组件
3.广播的分类
4.是否已婚、成家
5.有了解过framework哪些方面
 我回答:MediaPlayer sp
6.公司是用eclipse、AS、还是sublime之类
7.as依赖出现冲突怎么解决
8.AS快速定位到到错误代码
 我回答:2次shift 定位到文件 再ctrl+g定位到行数
9.ANR、OOM问题分析
10.target sdk是多少
11.so加载失败解决
12.常见的英文开发者网站
  1.英文水平、能否无障碍阅读
13.jni crash (好像没有问这个)
14.so报错地址怎么转换为对应的代码函数
15.你有问题想问的
 1.你们是通过定制原生Android还是和基于三方合作
 2.外包
16.面试官总结

三面 (项目负责人)30分钟 1.5h+15
1.自我介绍
2.做题
  2.1.long整数数字反转
  2.2.二维byte数组反转(镜像反转+中心反转)
3.面试官问问题
  1.职业规划
  2.了解FAE
  3.了解项目
4.问问题
 1.外包是否有区别对待之类的
附答案:

/**
 * Author: Dongping Wang
 * Date: 2021/1/25
 * Description:地平线机器人-智能座舱 三面
 */
public class HorizontalRobot {

    public static void main(String[] args) {
        byte[][] data = {
                {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 0, 1, 2}
        };
        twoDimenArrReverse2(data);
        for (int i = 0; i < data.length; i++) { // 0
            for (int j = 0; j < data[i].length; j++) { // 0 1 2 3
                System.out.println("" + data[i][j]);
            }
        }
    }

    // 面试1: 整数反转
    private static long reverse(long num) {
        long reverseNum = 0;
        long pop;
        while (num != 0) {
            pop = num % 10;
            if (reverseNum > Long.MAX_VALUE / 10 || (reverseNum == Long.MAX_VALUE / 10 && pop > Long.MAX_VALUE % 10)) {
                return 0;
            }
            if (reverseNum < Long.MIN_VALUE / 10 || (reverseNum == Long.MIN_VALUE / 10 && pop < Long.MIN_VALUE % 10)) {
                return 0;
            }
            reverseNum = reverseNum * 10 + pop;
            num /= 10;
        }
        return reverseNum;
    }

    // 数组反转

    // 面试2.1:二维数组反转1
    // 1234   4321
    // 5678   8765
    // 9012   2109
    private static void twoDimenArrReverse1(byte[][] data) {
        for (int i = 0; i < data.length; i++) {
            int itemArrLen = data[i].length;
            for (int j = 0; j < itemArrLen / 2; j++) {
                byte temp = data[i][j];
                data[i][j] = data[i][itemArrLen - 1 - i];
                data[i][itemArrLen - 1 - i] = temp;
            }
        }
    }

    // 面试2.2:二维数组反转2
    // 1234   2109
    // 5678   8765
    // 9012   4321
    private static void twoDimenArrReverse2(byte[][] data) {
        int len = data.length;
        for (int i = 0; i <= len / 2; i++) {
            int itemLen = data[i].length;
            int count = itemLen;
            if (len % 2 == 1 && i == len / 2) {
                count /= 2;
            }
            for (int j = 0; j < count; j++) {
                byte temp = data[i][j];
                data[i][j] = data[len - 1 - i][itemLen - 1 - j];
                data[len - 1 - i][itemLen - 1 - j] = temp;
            }
        }
    }

}
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值