最近了解到朋友因为学习起来感觉有些乱,没方向感,他特意
挑了难一点的大厂找找找虐,他说这样才有意义嘛!
还跟我说什么怀着进大厂的梦想,先去试试水。
结果嘛
就被虐得体无完肤,于是我就问他都有些什么内容,然后做了以下的总结。(下列都以第一人称叙述)
涉及的企业有:阿里、快手、转转、用友(较简单,不做展示)。还有一个企业不记得名称了(纯业务的面试,没印象)
快手
面试的话是 下午2点到4点面试连着两面,然后hr最后说结果会在几天之内反馈。
这个面经不全,因为现在有的问题已经想不起来了,尤其是没答好的问题可能更记不住了hhhhh
4.11面试,4.13拿offer
一面(一小时)
AndroID问题:
1.详细的讲下VIEw的绘制过程
2.使用过哪些动画,属性动画和VIEw动画的区别在哪里,VIEw动画的原理(ValueAnimator和ObjectAnimator的区别)
3.Activity的生命周期,启动模式,区别在哪,讲下各自的应用场景。
4.Fragment的生命周期
5.Service的生命周期
6.进程与线程的区别
7.在项目中使用过多线程么
Java问题:
1.HashMap(因为我写过相关文章,这个问题答了蛮长的一段时间)
2.java gc算法
3.常用的线程池,以及线程池的各个属性的含义
4.四种引用类型的区别(可以结合内存泄漏去聊)
代码题
1.手写二分查找
二面(一小时)
AndroID问题:
1.事件分发详细的讲(三个核心函数以及整体过程),详细的讲下dispatchtouchEvent,子VIEw如何阻止父VIEw拦截事件,Action_Cancel什么时候会发生,一个应用场景:两个并排button,点击button之后,又移动到另一个button,但不点击滑动到外面会经过发生哪些事件。
2.Okhttp
Message.obtain()有什么好处,为什么不使用new Message(防止多次Gc)4.linearLayout和relativeLayout的区别,优缺点,层级嵌套等等等
5.ConstrantLayout讲讲特点
6.性能优化在项目中做过哪些
7.读过哪些AndroID的源码
8.broadCastReceiver的源码看过么?
9.FrameLayout了解么?
代码题:
1.场景题,实现一个ActionMangager,其中包括 registeraction(String action, IActionCallback callback), unregisteraction(IActionCallback callback); notifyChange(string action)三个方法。类似于broadCastReceiver,一个action可能对应多个Callback,notifyChange中要回调action对应的所有Callback对象的方法。同时还问了怎么满足线程安全的问题等等,会根据代码继续问问题。
2.之字形遍历二叉树
拼多多笔试
基于给定接口实现ImageLoader框架
一面
自我介绍静态变量和实例变量的区别重写equals()方法的注意事项;两个List是怎么判断是否相等的?Hashtable和HashMap的区别;是否允许键为null数据同步的方法;synchronized可以在对象上加锁吗?在方法上加锁是加在哪个对象上?进程间读写文件的同步方式了解哪些加密算法;AES和RSA的区别http响应码进程优先级;AndroID进程优先级如何使一个Service处于另一个进程中;进程的服务保活touch事件分发机制如何实现客户端长连接的?重试策略是怎样的?如何监控http请求的?提问问题二面
三道题选两道大顶堆和栈的概念最短路径算法概念如何缓存httpHR面
也不能算是HR面吧,简单聊了聊。
项目介绍;担任的角色家庭情况;期望薪资在哪里实习?实习的时候拿到过哪些offer介绍了拼多多的待遇以及工作制度三面自我介绍;项目问了些如果安卓是单线程的,那么如何处理界面刷新和网络 *** 作两个模块算法题新美大一面
自我介绍为什么选用Okhttp?为什么用MVP模式?ImageLoader的三级缓存怎么做的;Okhttp的磁盘缓存怎么做的?如何删除文章的广告之类的?有遇到不符合的情况吗?HashMap是线程安全的吗?HashMap线程不安全会造成什么现象?如何使HashMap变为线程安全的?Java的内存模型;GC;遇到过OOM情况吗?有什么可以检测内存泄露的工具文章列表用的什么什么控件?ListVIEw如何优化?RecyclerVIEw用过吗?和ListVIEw的区别应用中有几个Activity;VIEwPager嵌套Fragment怎么用,遇到过什么坑没?自定义view时自定义属性该怎么做?印象最深刻的项目,或难点二面
自我介绍界面展示用的ListVIEw还是RecyclerVIEw?如何做文章的过滤的?如果改成别的网站需要怎么做?ImageLoader怎么实现的?内存缓存使用的是什么策略?项目中TCP+http+JsON是怎么回事?androID ui自动化测试实习的项目对Kotlin的了解;准备让用Kotlin写一个界面的给了一个布局,让说说看怎么编写了解啥新技术问问题三面
自我介绍为什么选用AES加密?全程没聊技术,介绍他所在部门做的事情,问我感不感兴趣,我也提问了一些问题,聊得比较投机手上的offerHR面
问了一些基本信息,手上offer情况,对薪资的要求。由于三面全程没问技术,心里比较虚。
附上简历中配置的个人技能熟悉常用设计模式:策略、责任链、单例、装饰者、代理、观察者、适配器、外观/门面研究过Mybatis3源码,熟悉sqlsession执行流程、熟悉一级缓存、二级缓存原理研究过Spring5注解方式启动Spring的源码,熟悉Springbean生命周期、SpringAOP底层原理、Spring事务底层原理、Spring循环依赖解决的原理研究过SpringMVC5的源码,可手动仿真SpringMVC框架研究过Springboot2的启动源码,熟悉Springboot核心设计理念,可自定义starter组件,熟悉@SpringBootApplication底层原理熟悉Java8新特性熟悉常用集合(ArrayList、linkedList、HashMap1.7、HashMap1.8、ConcurrentHashMap1.7、ConcurrentHashMap1.8)原理,并研究过源码可手写二叉树、了解红黑树旋转变色规则熟悉Nginx负载均衡、动静分离、反向代理、静态文件压缩原理了解网站跨域问题及其相应解决方案了解Nginx+Lvs+Keep-alive实现高可用的原理熟悉多线程(通讯、锁,CAS机制)、Java内存模型,可手写Java线程池熟悉Java内存结构,了解常用垃圾回收算法、垃圾回收器以及内存溢出和内存泄漏等问题熟悉Zookeeper使用,了解Zookeeper工作原理,分布式锁原理、分布式集群原理、选举策略、数据最终一致性原理。了解MysqL中的事务隔离级别和常见的锁(共享、排它、意向、记录、间隙、临键、行锁、表锁等)研究过Tomcat8底层源码,可在微服务架构下优化Tomcat8熟悉Netty框架,了解BIO、NIO、TCP/UDP原理,了解OSI七层网络模型,了解请求粘包、拆包原因和解决方案,了解序列化机制。熟悉SpringCloud框架,了解服务治理、服务注册发现、服务降级、熔断、隔离等Hystrix服务保护机制的原理,熟悉Ribbon负载均衡、Config配置中心、Zuul网关、Swagger接口调试熟悉Redis淘汰策略、事务、持久化机制、分布式锁、单线程高效、自动过期、与MysqL保持一致性等原理熟悉Redis穿透、击穿、雪崩、集群、主从复制、哨兵选举、cluster分片、动态扩容、缩容、布隆过滤器等原理熟悉常用消息队列RabbitMQ/Kafka/RocketMQ,了解其解决分布式事务,消息幂等,顺序消费,事务消息以及常用工作方式等原理
最后
如果说成功有捷径,那么一定是不断的积累与坚持,二本市场营销毕业,一点基础没有的情况下选择了自己喜欢的事情,前期遭遇了多少困难只有自己知道!还好结局没有那么不堪,努力是不会被辜负的,加油!
附上:我们之前因为秋招收集的二十套一二线互联网公司AndroID面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理AndroID复习笔记(包含AndroID基础知识点、AndroID扩展知识点、AndroID源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
本文在开源项目:【GitHub】中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…
如果需要pdf版本可以自行领取!
总结以上是内存溢出为你收集整理的2020年非科班生的跳槽之路(快手,拼多多等12家大厂Android岗)全部内容,希望文章能够帮你解决2020年非科班生的跳槽之路(快手,拼多多等12家大厂Android岗)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)