常见软性面试点准备维度

阿里云2000元红包!本站用户参与享受九折优惠!

除了核心的coding skill,一些面试官常常问到的问题,准备一下,这里仅仅是拿我对某个公司的面试准备作例,回答的方向根据对公司的判断以及与员工的沟通得出。

  1. 新技术–学习经历,技术风向的理解,新特性

  2. 新行业–区块链,5G,flutter,kotlin

  3. 设计能力–性能优化、用户体验优化、兼容性设计、需求评估

  4. 细节把控–数据结构

  5. 职业价值观–职业规划,个人追求,对公司的期望

  6. 方法论–个人学习的方法、工作方法、业余所做的事情

  7. 深刻经历–处理过的难题

  8. 选择倾向–为什么选择这家公司,和之前offer的对比?


1、新技术–学习经历,技术风向的理解,新特性

技术风向的理解:新鲜血液开始纷纷涌向AI和区块链等技术,移动开发增量减少,存量厮杀,或者纷纷出海谋求新市场。产品质量和开发效率决定了能否继续生存下去。移动开发不再是风口,但是人们在移动设备上花的时间不会减少,各种新技术大部分也是由移动端作为载体发挥作用的。所以移动端不应该仅仅是APP开发,大部分新技术浪潮都能融入其中,大前端、开源库、IoT、音视频、边缘计算、VR/AR、区块链、AI等等。

移动开发者的未来更可能是跨终端,产品、运营、数据分析、后端,技多不压身。

为此,必然要选择一个未来有潜力的行业方向,即接触底层原理,也根据行业需求尽量多接触新技术。将新技术浪潮融入进移动端体系,即是大势所趋,也是自我成长必然要经历的。

技术新特性:

Android 10 新特性:

  • 隐私和安全改善:限制应用在后台访问用户位置、限制后台启动activity、移除了联系人的亲密程度信息、扫描网络时需要精确位置权限;安全方面,引入新加密模式 Adiantum、默认启用 TLS 1.3

  • 行为变更,限制非 SDK 接口

  • 新功能和api,可折叠设备、增强API支持5G平台、通知中的智能回复——提供基于上下围的操作建议、启用手势导航(vivo早就有了)

Android P/9 新特性:

  • 加入手势导航(非默认)、防沉迷管理机制、适配刘海屏、利用AI管理电量和亮度、通知能被再通知栏上就地回复,也能查看更多图片

Android O/8 新特性:

  • 通知渠道改善,程序通知会按类别分类至不同的组(“渠道”),用户还可暂时延后某则通知;画中画模式;优化开机启动,后台服务限制;增加 TensorFlow Lite;智能文本选择;账号密码自动填充机制

Android N/7 新特性

  • 多窗口模式、改进的Doze模式,只要息屏一段时间且未接电源,就会进入低功耗模式。

Jdk 5 特性

  • 自动装箱拆箱

  • 静态导入

  • 枚举

  • 可变参数(int… a )

  • 泛型

  • for each 循环

  • 注解

Jdk 6 特性

  • 对脚本语言的支持

  • 轻量级http server api

Jdk 7 特性

  • switch中可以用String

  • 支持二进制数字

  • 调用泛型类的构造方法时,可以省去泛型参数,编译器会自动判断。之前版本使用泛型类型时这样写 ArrayList<User> userList= new ArrayList<User>();,这个版本只需要这样写 ArrayList<User> userList= new ArrayList<>();

  • 异常处理多个catch

Jdk 8 特性

  • Lambda表达式

  • 多重注解

  • 新的时间和日期 API

  • 静态链接 JNI 程序库

Jdk 9 特性

  • 集合工厂方法,通常,您希望在代码中创建一个集合(例如,List 或 Set ),并直接用一些元素填充它。 实例化集合,几个 “add” 调用,使得代码重复。 Java 9,添加了几种集合工厂方法:

Set<Integer> ints = Set.of(1,2,3);

List<String> strings = List.of(“first”,”second”);

  • HTTP/2 替代 HttpURLConnection

  • Java Shell 使用脚本写出简单的代码,省去建类的痛苦

Jdk 10 特性

  • var类型推断

  • 统一的GC接口

Jdk 11 特性

  • 在Lambda表达式中使用var

  • 标准化的HTTP Client API

2、新行业–区块链,5G,flutter,kotlin

3、设计能力–性能优化、兼容性设计

https://www.jianshu.com/writer#/notebooks/39713378/notes/53109880/preview

兼容性设计:

版本兼容维度:api一般就是新增、修改、废弃,不用太担心突然间删除的问题;

  • 代码中可能需要使用sdk运行时检查;

  • 如果版本差异大,考虑使用兼容库

屏幕适配维度:

  • 使用dp,或者svg图片,对需要拉伸的图片使用.9图

  • 使用百分比布局或者weight属性

  • 对于平板这样屏幕尺寸和比例和手机明显不同的,重新设计layout放在不同文件夹

其他维度:

  • app升级时候,考虑不同版本对接不同服务器,或者在服务器上实现兼容

  • 尽量不使用非sdk接口

4、细节考量–数据结构

5、职业价值观–职业规划,个人追求,对公司的期望

选择一个有潜力行业,有潜力额公司发展。个人方便以Android为基础,精华业务能力,并不断拓展知识面。

对公司的期望就是行业和产品本身符合我的预期,比较年轻有活力,没有严格的层级制度大家都比较上进,环境不要差。

6、方法论–个人学习的方法、工作方法、业余所做的事情

看博客,看demo和官网,然后自己记笔记、敲代码学习。

一般早上起来列一下今天做的事情,早上和下午3/4点之后做核心的任务,过几天自己总结下事情的进度和需要改进的地方

业余我就约朋友,爬山,没事就泡一个咖啡店看书

7、深刻经历–处理过的难题

摩托车模式中,关于进程意外被杀,欢迎界面处理

框架代码在9.0中更新了,8.0中没更新,但是app代码在8.0和9.0是一样的,判断SDKversion、反射都不是长久之计,只能使用mk动态加载不同java文件实现

动画导致内存泄露

CTS测试问题,MTK框架代码下有那个call函数参数不符合Google规范

8、选择倾向–为什么选择这家公司,和之前offer的对比?

你们更好。

https://www.jianshu.com/p/a8f040cc868b

Python量化投资网携手4326手游为资深游戏玩家推荐:《《苍蓝誓约》9月12日23:00停服维护公告

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论