首页 > 百度提前批语音方向笔试(python卷)吐槽and复盘
头像
美团内推人er
编辑于 2020-07-20 21:00
+ 关注

百度提前批语音方向笔试(python卷)吐槽and复盘

两道不定向选择,一道考python3和python2的区别(我从入行以来就一直是python3,从没用过python2,我咋知道。。),一道考__init__和__new__,__new__几乎没用过(淦)。
5道填空,花里胡哨。
  1. Q:python函数怎么修改全局变量 A:函数里先global变量,再修改,不知道对错
  2. Qpython5种报错信息分别代表什么错误 A:attribute error,我写的属性错误,identi~ error 写的语句错误,index error:写的序号错误(应该是索引错误,但是我忘记index的中文翻译是索引了)Name Error:命名错误(引用未定义的变量名、类名),还有个忘记了
  3. Qpython的内建数据结构 A:list,set,dict,tuple,应该漏了一个Sequences,这sequences我从来没用过,不知道什么东西,刚查的
  4. Q:python的参数传递方式 A:基本变量类型如int,float等是值传递,list,set等结构体是引用传递,这里正确的应该是可变变量结构是引用传递,像tuple不可变类型依然是值传递
  5. Q:python不可变的数据类型 A:tuple    我应该这题是错的,除了tuple,普通变量类型int,string等都是不可变的
两道编程题:
1:给定一个数组nums=[1,3,2,3,1],求幸运数组对数量,幸运数组定义如下,i<j and nums[i]>2*nums[j]。输入类型为整数,nums长度<5000。
A:这里有个陷阱,就是题目给的样例都是正整数,实际上输入类型整数已经提示了输入会有负数,如果只考虑正数就是0通过,直接暴力是60%,这里我使用空间换时间,用字典去保存前面计算过的值的次数比如dict[nums[i]]=XX次,那么当第二层循环再遇到相同的值时,例如nums[i]==nums[j],那么number=当前计数值cur+dict[nums[i]],接着break出,这里我卡了很久,是因为没考虑负数的情况,如果是负数,那么number还需要+1,因为负数>2*负数。这个小细节卡了我半小时。这样就AC了。
2:简化版的Maxpool1d。[1,3,2,-1,5,3,4],给定大小为k的滑动窗口,从数组头滑动到数组尾,输出每个窗口里的最大值,要求时间复杂度O(n)。
A:第二题真的超级简单,题目都说了滑动窗口,那就双指针+滑动窗口,直接完事。我是边滑动,边用max函数直接取窗口里的最大值,原本是想先最简单的做,看通过多少,再用窗口每次去掉最左边,新增最右边的性质去优化。。。。结果直接AC了,我都懵逼了,幸好这题太简单,我1分钟就AC了,才有足够的时间回到第一题去找问题。

必须要说下,百度的编程题特别不友好,第一是不能用IDE,不允许跳出,第二是没有自测,你只能写完点保存调试,后台返回你通过多少,其余信息都没有。我第一次遇到这么不友好的笔试,连自己测试都不行,纯黑盒,我寻思正式工作,你写完一个代码也会自己想几个例子去做单元测试吧,这笔试就完全不允许自测。。第一题卡的我苦不堪言,一直都是通过0,但凡能自测,我自己设计几个测试用例都能早点知道问题在哪。

全部评论

(8) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐