AI Infra 后台开发 - 小鹏 - 日常实习
笔试:
体感:系统比较友好,但美中不足的一点是调试程序不支持linux命令行窗口,而是python运行窗口,核心代码模式
题目:三道,两道数据处理题,一道算法题
1.水密度排序,哈希表类的,统计后按条件组合答案
2.配对鞋子,哈希表类的,哈希表中嵌套了元组组合统计,最后基于统计的东西判断条件
3.背包问题 0-1背包类的
时间:60分钟
结果:还行,得分89,忘了加记忆化搜索,不然能更高
总结:耗费在写python上的时间太多了,写golang写多了捡起python需要一点时间
一面:
体感:面试官很友好,是我的准备不够充分,但也感叹一个日常实习也得开始准备八股文了,ACM模式导包都得自己导还得自己构造测试代码,包名真忘了,没智能模式补全包名,还有就是飞书那个golang版本只支持到1.19,没1.21以上的,如果想用slices包用不了,只能用sort包,同时math包不像leetcode那样定义好了MaxInt什么的,没法直接用
流程:
自我介绍然后是项目介绍
针对项目中出现的问题深挖
server和agent之间通信的协议,比如react和vue的区别(我只会改改vue,不是很懂前端)
数据库什么应用场景
protobuf的使用问题
问网络基础http和grpc之间的差别
答了传输的内容不一样分别是json和二进制,需要回答内部原理和比较快的根本原因,没答上来
问linux基础进程和线程之间的区别
我理解成golang的gorutine和thread去答GMP原理和系统态用户态这些了,但面试官想问普遍意义上的linux系统下的非特殊语言的东西,还要答CPU调度什么的大概,面试官不满意我的回答,需要深挖,也没答上来
问数据结构常见的有什么,它们之间的区别是什么?
答的不好,虽然我说了自己常用的数据结构和操作,但很明显不是面试官想听的,想听一些栈堆的东西估计(我开发中用的少)
问数据库底层和操作
redis和mysql应用场景
问mysql中join的用法和场景
没答全,我写ORM写的多,直接联表操作了,原始的数据库操作和底层逻辑属实忘得差不多了(本科学过但忘得差不多了)
最后一道题,写DP问题
经典选硬币(可重复选)需要的最少硬币数量-完全背包问题
没加记忆化搜索和调试好dfs终止条件,寄了,面试官倒是友好的问我为什么贪心转DFS了,我按照从后往前选不选的逻辑讲了一下,一般,实际应该再进一步转成递推再到动态规划的
结果:10天后凉凉了,自我评价估计面试及格都难
时间:45分钟,30分钟做题
总结:上次面小红书做题完全没思路,恶补刷题还是有成效的,但很明显没有好好组织对应问题的答案想到什么答什么了,且看八股文少了,尤其是计网、数据库、数据结构的一些东西,经典DP题目和经典的面试问题刷的还不够多,ACM模式没习惯。