字节Android客户端日常实习面经

#字节跳动#
2022/12/22 14:00 一面(50min)

面试官迟到了5min,我紧张了5min...
上来先自我介绍,一紧张语速太快估计他也没听清,又问了我一遍写过什么项目
然后就开始问八股了:
1. 面向过程和面向对象的区别
2. 说一说责任链模式及其应用场景
3. http和https的区别
4. https的加密算法(说了个混合加密过程,提了一嘴MD5)
5. 对称加密和非对称加密的区别(考前瞄了一眼,但是没有记太清,应该糊弄过去了)
6. HTTP请求的过程(一开始只让我说应用层的,TCP连提都没提,后来看不下去了让我说说全过程,了解的都说了)
7. URL如何获得IP(DNS如何解析)
8. 什么是平衡搜索树,它有什么痛点(考前刚刷了一道平衡搜索树,但是痛点也没看)
9. B树和B+树的区别(我是真的不知道,恨转专业没补数据结构)
10. 快排的时间复杂度,为什么是nlogn(我说是因为分治,二分导致的logn,面试官面露苦色)
11. 堆排的时间复杂度,快排和堆排的应用场景(随便说了个跟空间限制有关,也不知道蒙没蒙上)
12. 代码题:给一棵二叉树,求树的深度
13. 代码题:给一棵二叉树,判断是不是平衡搜索树(第一遍忽略了平衡二字,面试官提示后写上了)
14. 对JVM的了解(说了解一点点,但是内存分布这些也只看了一下,没太深入了解)
15. 说一说线程池(整个多线程都没看,以下问题都答不上)
16. 线程和协程的区别
17. 线程和进程的区别
反问:Android开发和Java Web开发的区别,项目少能进字节吗,面试结果什么时候出
总结:项目是提都没提,SpringBoot也提都没提(果然是Android开发)。八股背了不到一个星期,之前看面经字节就总在计网上下功夫,幸亏还是看了点。********刚刷了十多道题,还不习惯用Java写题。字节的题还是不给样例的那种,给你一个题目就直接从main函数开始改,也没法知道写的对不对。面大公司还是得做好充足准备,像我这种只看一个星期的属实是不给人家面子了。
全部评论
大佬啥时候投的
点赞 回复 分享
发布于 2022-12-24 22:08 山东

相关推荐

1. 简单的自我介绍2. 八股和项目讲讲你的项目,以及你觉得个人比较有优势的地方。可以现场演示一下你的项目吗?追问项目细节,略在C++高并发场景中,怎么保证线程同步?你都用过C++的什么锁?你了解的C++都有什么锁?分别在什么时候使用?它们有什么特点?互斥锁(Mutex)的底层原理是什么?读写锁的底层是怎么实现的?它如何区分读和写操作,并进行相应的控制?保证线程同步,除了锁还用过什么其他方法?你觉得C++和Python谁的效率更高?为什么一个简单的加法,C++会比Python的效率高?对于一个a + b的加法,Python和C++分别是怎么做的?学过计算机组成原理和编译原理吗?一段C++代码的完整编译过程是怎样的?int a = "a_string"; 这样会报错吗?编译器怎么知道要报错?在哪个阶段进行类型检查?计算机执行加法和减法,哪个效率更高?为什么?计算机底层如何实现减法?堆和栈有什么区别?int a[10]; 这样定义的数组,内存是如何分配的?是在堆上还是栈上?在函数中定义的数组,离开函数时空间会释放吗?如何释放?像vector这样的可变数组,是在堆上还是栈上?它在函数中定义,离开函数时如何释放?数组和链表有什么区别?它们的查找效率呢?学过词法分析和语法分析吗?(lz大三上才学编译原理,八股也没准备这些)3. 手撕代码手撕:C++单例模式。(表示不熟悉,同样也没准备过)单例模式是什么?有什么特点?(更换题目)手撕:无重复字符的最长子串4. 反问环节面试流程大概要多久?什么时候能知道结果?实习地点在哪?这次答得不太好,都是一些没准备过的问题(回过头来看也是比较基础),能过感觉也是现场项目演示和面试状态没崩,很惊险
查看21道真题和解析
点赞 评论 收藏
分享
07-04 17:12
已编辑
门头沟学院 Java
1. 我看你是做服务端的,但是你投的是客户端开发,你后面是倾向于安卓还是IOS?2. get和post的区别是什么?3. 实现用户登录功能该用post还是get?为什么用post?post就安全吗?body不也可以通过抓包看见吗?3. HTTPS加密的过程?我答的是公私钥结合的方式其实就是TLS协议交换密钥的过程。追问如果代理人攻击如何解决?提示CA证书机制没答出来具体的机制是如何实现的4. TCP三次握手,为啥不是二次握手?为啥不是四次握手,这样岂不是更能保证可靠我说四次的话,感觉没有必要三次就能保证建立连接的可靠5. UDP协议在那一层?那我传输的时候可不可以绕过UDP协议直接交给IP层?这里没答好正确答案应该是,传输层负责端到端的通讯,屏蔽底层细节,通过ip协议可以把数据传输到对应的主机,但是如果没有端口信息不能定位到具体主机的应用进程,还有就是传输层的作用,可靠传输、拥塞控制、流量控制5. 线程和进程的区别?线程与线程之间是共享内存的吗?进程与进程之间呢?6. hashmap的put和get过程7.arraymap 和hashmap如何选型的?我不知道arraymap 是什么java中没有后来才知道是客户端的8. equal和hashcode那些经典八股9. 如何判断一个对象能否被垃圾回收?可达性分析算法 gcroot,那些可以作为gcroot?虚拟机栈和本地方法栈中引用的对象、方法区中静态属性引用的对象和方法区中常量池引用的对象10 .垃圾回收机制,分代回收机制,老年代新生代那一套11 .threadlocal 底层实现原理12 .单例模式懒汉和饿汉的区别?然后分别用在那些场景中,你实际用的话?13 .为啥设计双亲委派机制手撕1.单例模式2.删除链表重复元素手撕2翻车其实是有点紧张加上第一次面字节,也不太习惯飞书的编译器,双指针一直有BUG很慌就没调出来,反问还有那些需要提升的点?面试官说基础知识掌握还可以,编码习惯有待提升,下去再练练吧。败在了本来最擅长的点😣,这手撕已经很给我机会了,自己没把握住
查看16道真题和解析
点赞 评论 收藏
分享
评论
2
45
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务