欢迎使用CSDN-markdown编辑器

来源:互联网 发布:apache 默认安装目录 编辑:程序博客网 时间:2024/06/15 02:44

自我介绍



1.大致背景介绍及目前状况 (Background)
各位面试官早上好,首先非常感谢各位能给予我这次面试机会,我是……,来自……,专业是……。我今天应聘的职务是……。

2.职位相关经验介绍(Professional)
简单用三个词来概括一下我这个人,分别是A B C,(随后用几句话简单列举两三件小事来证明以上ABC三点)。”

上来直接蒙了,简历上不是写了吗,你在听我说一次名字干嘛,现在想想,这样能看出来被面试者两点

  1. 沟通能力行不行,有人这个环节会打磕绊,而我则表现为不好意思(什么鬼)
  2. 就想听你简单的讲讲自己,好让面试官再看看简历。

聊一些东西东西吧

一般用git,linux都是加分项,这个时候,你就讲你最常用的命令就好了啊,cd , rm ,mkdir ,touch 什么的,别老想着那些特殊功能的,人家又没问。大大方方的承认,很多命令用过,但是没记住。
人家问 git 和 svn 有什么不同,查了一下记在这里:

  1. git是分布式的,更多的操作在本地进行,必要的时候才push
  2. git 不仅能管理版本,而且能版本回退,
  3. git 的指针模型使得分支合并更容易

重点来了

为毛在纸上写不出来折半查找。

简直丢死人了,难一点的算法想不出来吧,这种烂大街的东西,居然还要写两遍。
跟自己心态有关系,当时没准备写一个函数,就像手工模拟一下 解释一下思路,证明我懂了。结果呢,思路说着一半,在纸上画着一半,变量瞎起,然后开始慌了,太丢人了,旁边还有一个约我来面试的姐姐,自己强迫症又犯了。去替人家想“你这找来的什么人,这种基础都不会”
仔细想想,算法这种东西,你又不能记死。但是临时想边界条件还真想不出来,我在纠结,low索引和high索引什么情况下就可以返回没找到了,一方面自己没深入想清楚这个问题,一方面平时写代码都是瞎猜,大概写个条件,不行再换 比如+1 或者 不 +1 ,一定要高了这个习惯,先想清楚再动手写。

重头戏

我讲我基础不好,再刷leetcode,还告诉他我做了50道了,,,后来出了leetcode上一道题,第5道,可惜我不是从上向下刷的,(这也没脸在解释了)

两个拍好序数组求 中位数。

讲真我算法是真烂,对代码的优化就是不要写出多层循环,,所以给出了一个O m n 的实现,还想着这个不是很简单吗。
然后让我优化,我就彻底没思路了。
可能人家看出来了,就讲没思路就看看别的吧。其实难一点的算法做不出来到时没什么么,主要是前面那个二分法太丢人了。到这里就有点尴尬了。之后很明显问不出来什么了,,就在外面开始讨论,技术老大明显不想要我,hr姐姐在劝说,但是以工程紧,和我实习时间长为优势。。。丢人啊

总结一下,以后写代码,只写自己清楚地代码,尤其是基础代码,算法,绝对不能抄,辅助粘贴,对着书比对都不行,那样写出来的不是自己的。(以前以为看懂理解思路就行,看来不是,对于我这种天资不好的,还是多努力吧。)

最后上那道题的代码,做了好长时间呢,明天再试试看能不能自己做出来。
明天第一天去一家小公司实习,挺期待的。希望能做一些提升自己的工作,另外必须学算法

class Solution(object):    def findMedianSortedArrays(self, nums1, nums2):        def iter(a,b,k):            m , n = len(a), len(b)            if m < n:                return iter(b,a,k)            if not b:                return a[k-1]            if k == 1:                return min(a[0],b[0])            pb = int(min(k / 2, n))            pa = int(k - pb)            if  a[pa-1] == b[pb-1]:                return a[pa-1]            if a[pa-1] < b[pb-1]:                return iter(a[pa:],b,k-pa)            if a[pa-1] > b[pb-1]:                return iter(a,b[pb:],k-pb)        total_len = len(nums1) +len(nums2)        if total_len % 2 ==0 :            return (iter(nums1,nums2,(len(nums1) + len(nums2)) /2 + 1) + iter(nums1,nums2,(len(nums1) + len(nums2))/2 )) / 2.0        else:            return iter(nums1,nums2,int((len(nums1) + len(nums2)) / 2 + 1) )
0 0
原创粉丝点击