字节跳动 今日头条 客户端Android研发 实习
写在前面
北京某211研一在读,有过一段3个月实习经历(百度 深度学习技术平台部),去年十月底入职字节的,目前实习三个月左右(由于疫情 + 寒假
一面 45mins
- 自我介绍,百度实习的项目(问了架构设计,建议改成系统流程设计)
- 之前接触的项目是AI,为什么选择客户端开发?
- Android开发四大基本组件
- 学习一个项目的过程,如何学习?一些大的非开源的项目
- C++编译过程
- 面向对象和面向过程的区别
- 操作系统:线程与进程区别,为什么进程切换开销大
- 计算机网络:
- http&https的区别,https如何加密(对称+非对称)
- url解析过程(tcp三次握手和四次挥手要详细介绍)
- 智力题:赛马问题,25匹马,5个赛道,选3匹(7次)
Coding:
- 剑指offer 35:复杂链表的复制
- 二叉树的最大子二叉搜索树
二面 1h15mins
主要问了项目和从项目延伸的一些问题
- 介绍实习项目及自己的主要工作,传输过程中如果存在差错应该如何解决(校验)?传输过程中的信息安全如何保证?(对称加密 + 非对称加密)
- 毕设项目,介绍流程及自己的主要工作。如何解决海量数据的传输问题?传输过程中存在错误的情况下,如何设置校验?使用了冗余编码之后存在额外开销的问题,如何权衡实时性和可靠性?多线程是否经常使用,为什么选择使用python实现?常见的多线程使用场景有哪些?
- 智慧旅游服务平台(大创),自己负责的部分。有没有更好的路径规划算法(dijkstra以外的)。如何评估一条路线的好坏,通过非人工的方式去评估一个功能的效果?某个功能上线如何去考核验证其实用性?如何查验功能上线后的点击量是否增加?
- 实习时长的问题,两三个月的实习时间可能刚上手业务就要离开了。每周尽量保证全勤。早上10:30之前。
coding:leetcode 543:二叉树的直径
三面 50mins
- 自我介绍,实习项目介绍。
- 实习经历:在百度项目中自己的工作,如何评价自己写的工程代码。
- 毕设相关:数据传输的完整性校验以及正确性校验。
- 学习技术的思路与过程,github项目如何去学习;
- 未来职业规划;自己距离成为一名正式员工还有哪些欠缺;团队协作中自己的定位(倾向于去主导并做一些额外的工作)
coding:ip地址复原 leetcode93