zoukankan      html  css  js  c++  java
  • 某电话面试技术点记录

     
    重新加入到求职大军,感觉时代变了,有点被碾压过去的错觉
    之前随便问问就offer的日子没有了
    以前:面试造汽车,入职造航母
    现在:面试造航母,入职柠螺丝
    网上也充斥着各种大厂面试题,大同小异,
    有跳槽想法的建议提前看下再做选择,(大佬可以无视)
     
    下面是对一次电话面试知识点记录,答案后续添加
     也算对自己的监督
     
    本来约的上周,有事耽误了,再约,下午4点开始,大概一个多小时
    首先:面试官人不错,好沟通,自我介绍,开始问答
     
    0x01.Java基础      
    • 说一说如何理解面向对象的
    • 对多态的理解
    • 说说你知道的设计模式,用过哪些
      • 简单工厂、工厂方法、抽象工厂、 Builder 模式的区别
      • 装饰模式和代理模式有哪些区别
      • 是否能从 Android 中举几个例子说说用到了什么设计模式
    • HashMap,HashTable,HashSet的区别
    • equals 与 hashCode 的区别与联系
      • 如果了两个对象hashCode相等,equals需要相等么
      • 如何处理hashcode相同的情况
      • HashMap存储时候key为什么不建议使用Integer
    • synchronized了解么,可以在什么位置使用
      • synchronized用在静态函数和非静态有什么区别
      • 说下java中有几种加锁方法,介绍下ReentrantLock
      • 说一下乐观锁,悲观锁
      • volatile用过么,简单介绍下
    • 创建线程有哪几种方式,有什么区别
      • 多线程的使用场景
      • 线程的生命周期
      • run()和 和 start() 方法区别
    • 说说对接口设计的理解
    • 说说对泛型的理解
    • 说说对反射的理解
    • java中是值传递还是引用传递
    • java中软引用,弱引用接触过么,介绍下
    • GC机制了解么,介绍原理,新生代和老年代

    0x02:网络相关

    • 简单介绍下Tcp/IP
    • 介绍下TCP/UDP
    • 介绍下Http和Https的区别
    • 在浏览器中输入一个 URL 至页面呈现的过程是什么

    0x03:结构/算法 (面完后聊了几句)

    • 常用的数据结构
      • lru算法使用的是哪种
      • HashMap使用的是哪种
    • 算法基础
      • 快排/冒泡/二分/
      • 广度优先/深度优先优缺点

    0x04:Android相关  

    • 介绍下Android架构
    • 桌面点击一个图标,到App显示的过程
      • 说出中间用到了几个关键类,过程是如何通信的
    • 说对AMS的了解
    • 说对PMS的了解
    • Actiivty的四种启动模式了解么
      • 四种模式的使用场景
      • A跳B,B跳C 再返回,生命周期或者栈情况之类的
      • affinity属性的作用
    • 谈谈对intent-filter的理解
      • intent-filter的匹配优先级规则
    • 说说对Context的理解
      • 一个App中存在几个Context
      • 他们之间的区别
    • 介绍下Android中的广播
      • 几种方式,区别
    • 介绍下Service 和 IntentService
      • 说出使用的重要函数
    • 对进程间通信的理解
      • Android有几种跨进程通信的方式
      • Linux已经存在很多跨进程通信的方式,为什么要使用binder
    • 介绍下Handler
      • 介绍下Handler同步屏障机制(sync barrier)
      • Handler中有Looper死循环,为什么没有阻塞主线程,原理是什么
      • 子线程能否创建Handler,
      • Handler和Looper对应关系,如何保证Looper唯一
      • Handler、Thread 和 HandlerThread 、ThreadLocal 
    • 介绍下ClassLoader,机制
    • 介绍下RecyclerView ,缓冲原理
      •  ListView与RecyclerView对比
      • 使用过程做过哪些性能优化
    • 项目开发做过哪些优化
      • APK大小
      • 内存优化
      • 布局优化
    • 如何发现项目存在内存泄露
      • 如何定位,修复
    • 项目发布操作步骤,手工还是自动
    • App版本更新如何实现,之前项目如何处理
    • Bug如何收集,App如何测试,Bug修复,熟悉的单元测试框架
    • 团队之间如何协作,有用过哪些平台
    • 介绍一个你比较熟悉的开源框架
      • 有看过源码了解过原理么
      • 使用哪种数据结构
    • 你觉得你擅长哪方面?
    • 说说你的优点和缺点?
    • 你还要什么了解和要问的吗?

    大体就是这些

    另外补充一些其他面遇到的问题:

    • 如何保证进程保活
    • 如何做系统加速,结束后台进程
    • 反编译的流程,功能点定位,动态调试,Https抓包
    • 如何提高App安全性,市面上加固的几种方式
    • 广告SDK开发相关
    • Android事件传递机制
    • 自定义View流程
    • 如何打开一个没有在Manifest注册的Activity
    • Apk打包流程
    • Apk安装流程
    • Jni使用,NDK开发流程
    • 介绍下三方开源库,原理,设计模式,数据结构,策略,关键类等  
      • 基本从里面挑(okhttp/retrofit/RxJava/eventbus/glide/leakcanary)
    • 热修复、插件化、模块化、组件化、 Gradle
    • 谈谈对架构设计的理解

    以上手打面试遇到的些问题点,有很多不清楚的地方,立刻查漏补缺

    这只是部分,看到很多总结里,头部大厂面试难度还会上升一个数量级,能不能过,自行斟酌。

    博客,Git,开源,新技术都可以加分,

    关于知识点,很多博客和git有知识点总结,进阶等文章,可以参考

    至于面试开头提到的:“面试造航母,入职柠螺丝”的普遍现象,今天和面试官里聊了下

    答:“因为现在做android实在太多了…所以大家的面试难度都水涨船高了”

    理论上知识多多益善,越多越好,越扎实越好,

    至于求职者,自己不足,重新回炉。

    祝大家能找到理想工作

    一切重头开始

    愿我爱的人一切安好

        

  • 相关阅读:
    个人博客作业Week2
    个人作业
    软件工程——个人博客作业三
    软工个人博客二
    软件工程——个人博客作业一
    Linux服务器搭建常用环境(一)
    Swift学习之语言基础
    Python——函数的参数
    Python——函数的调用
    Python 导语
  • 原文地址:https://www.cnblogs.com/wang-xiaohao/p/13676394.html
Copyright © 2011-2022 走看看