zoukankan      html  css  js  c++  java
  • 别人都去BAT,我只钟爱小破站(记我的B站入职攻略)

    唠唠嗑:

    本渣渣双非末流一本毕业,工作三年多。高中就玩bilibili。无论是学习还是放松你都能在小破站找到自己想要的东西。本身对上海也很憧憬,于是去上海入职B站,可以说是我的梦想吧。

    大学读的是软件技术专业,主学Android移动应用开发,辅修Java。男生对这种技术类的东西有着天生的兴趣,即好玩儿,又有挑战性,当自己把所有的Exception都干掉,把页面成功的运行出来是,那种成就感,特别满足。所以,在我的大学生涯里,我参加过社团协会各种APP的开发,也自己玩过跟多项目。

    三年前毕业的时候,哔哩哔哩也是有校招的,我当然满怀期待的投了简历。得到了面试机会,但却在第一轮面试中就挂掉了。如今马后炮一下,有如下原因:
    虽然课本上的知识我都吃得差不多了,但是毕竟知识纸面上的基础知识,我并没有去追根溯源搞清楚那些方法、工具、框架到底是怎么实现的,他们的工作原理是什么。我个人觉得自己在大学时期的项目经历已经足够丰富了,但都只是把纸面上别人的东西搬运、组装,变成了我自己东西,其实那终究不是我的东西,社会需要的是创新型的人才,并不是一个敲代码的搬运工。要创新,那必然要搞懂原理,你才能够是一个创造者。

    年初疫情的爆发,在家呆的几个月时间里,我重拾了我的“梦想”,经过三年工作打磨的我,决心再挑战一次我梦中的职位。经过了两个多月的复习、整合。终于在五一节前拿到了B站的offer。以下是我的入职攻略

    战略储备:

    一、计算机网络基础

    (一)HTTP/HTTPS
    1.HTTP与HTTPS有什么区别?
    2.HTTP1.0和HTTP1.1的一些区别
    3.请求慢的解决办法
    4.Http的request和response的协议组成
    5.谈谈对http缓存的了解。
    6.HTTPS加密原理
    7.HTTPS如何防范中间人攻击
    8.有哪些响应码,分别都代表什么意思?

    (二)TCP/UDP
    1.为什么TCP要经过三次握手四次挥手
    2.TCP可靠传输原理实现(滑动窗口)
    3.Tcp和Udp的区别?
    4.如何设计在 UDP 上层保证 UDP 的可靠性传输?

    (三)其他网络重要概念
    1.socket断线重连怎么实现,心跳机制又是怎样实现?
    2.Cookie与Session的作用和原理。
    3.IP报文中的内容。

    计算机基础面试题

    二、算法与数据结构

    主要是刷LeetCode,剑指offer。

    1.时间复杂度 / 空间复杂度
    2.常用的排序算法有哪些?
    3.字符串反转
    4.链表反转(头插法)
    5.如何查找第一个只出现一次的字符(Hash查找)
    6.如何查找两个子视图的共同父视图?
    7.无序数组中的中位数(快排思想)
    8.如何给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
    9.二叉树前序、中序、后序遍历
    10.最大 K 问题
    11.广度、深度优先搜索算法
    12.String 转 int。核心算法就三行代码,不过临界条件很多,除了判空,还需要注意负数、Integer 的最大最小值边界等;
    13.如何判断一个单链表有环?
    14.100 亿个单词,找出出现频率最高的单词。要求几种方案;
    15.链表每 k 位逆序;
    16.镜像二叉树;
    17.找出一个无序数组中出现超过一半次数的数字;
    18.计算二叉树的最大深度,要求非递归算法。
    19.String 方式计算加法。

    三 、JAVA基础面试题

    1.HashMap相关
    2.ArrayList相关
    3.LinkedList相关
    4.Hashset源码分析
    5.内存模型
    6.垃圾回收算法(JVM)
    7.反射与类加载过程
    8.线程、多线程与线程池
    9.设计模式(六大基本原则、项目中常用的设计模式、手写单例等)
    10.java四大引用
    11.Java泛型
    12.接口、抽象类的区别
    在这里插入图片描述

    四、 Android面试题

    1.什么是ANR 如何避免它?
    2.Activity和Fragment生命周期有哪些?
    3.横竖屏切换时候Activity的生命周期
    4.AsyncTask的缺陷和问题,说说他的原理。
    5.onSaveInstanceState() 与 onRestoreIntanceState()
    6.android中进程的优先级?
    7.Bunder传递对象为什么需要序列化?Serialzable和Parcelable的区别?
    8.动画(原理及特点,区别等)
    9.Android各版本的特性
    10.JSON优缺点
    11.android中有哪几种解析xml的类,官方推荐哪种?以及它们的原理和区别?
    12Jar和Aar的区别
    13.Android为每个应用程序分配的内存大小是多少
    14.更新UI方式
    15.Thread、AsyncTask、IntentService的使用场景与特点。
    16.Handler机制
    17.内存泄漏怎么产生、怎么查找、解决
    18..binder机制的作用及原理
    19说下四大组件的启动过程,四大组件的启动与销毁的方式。
    20.Android虚拟机和JAVA虚拟机的区别(JVM、Davilk、ART三者的原理和区别)
    在这里插入图片描述

    五、 Kotlin、Flutter相关面试题

    1.Kotlin 特性,和 Java 相比有什么不同的地方?
    2.Kotlin为什么能和Java混编?
    3.什么是协程?
    4.Hybrid通信原理是什么,有做研究吗?
    5.JS的交互理解吗?平时工作用的多吗,项目中是怎么与Web交互的?
    6.react native有多少了解?讲一下原理。
    7.weex了解吗?如何自己实现类似技术?
    8.flutter了解吗?内部是如何实现跨平台的?如何实现多Native页面接入?如何实现对现有工程的flutter迁移?
    9.说说你用过的混合开发技术有哪些?各有什么优缺点?
    10.快应用了解吗?跟其她方式相比有什么优缺点?

    在这里插入图片描述

    以上就是我两个多月学习整理出来的Android全方面的各大厂历年真题面试题集。都已经成功圆梦入职B站啦,所以这份资料也就无偿分享出来给大家。还附带其他中高级的面试资料和我看过的一些优质教学视频哦。
    领取只需要 @我 或者关注我后私信【面试】即可无偿分享

    【视频教程】


    免费下载地址:https://shimo.im/docs/Gg6hJ3tGhqkYghqP/read
    天道酬勤,只要你想,大厂offer并不是遥不可及!希望各位都能找到自己梦中理想的工作,过上自己喜欢的生活。长风破浪会有时,直挂云帆济沧海!

  • 相关阅读:
    使用Hugo框架搭建博客的过程
    使用Hugo框架搭建博客的过程
    使用Hugo框架搭建博客的过程
    Windows软件包管理工具:Scoop
    Centos8 安装ifconfig(net-tools.x86_64)
    Centos8 重启网卡方法
    使用Visual Studio 2019--调试汇编32位代码的详细步骤
    linux 三剑客之awk总结
    linux 三剑客之sed常用总结
    mysql数据库的笔记
  • 原文地址:https://www.cnblogs.com/Android-Alvin/p/12983687.html
Copyright © 2011-2022 走看看