找工作

实习面试:

WAP:
1. 一面:一个房间里,有大概6个独立的小桌子,一对一,面对面面试,我的面试官是女的,中国人,说英语;面试官人很nice,有什么问题就直接说就行了,也不用紧张。
@流程:英文自我介绍-> 之前提交的题,讲解,更改->现场做题
@英文自我介绍:大概把自己的简历说了一遍,她知道你做了什么方向的了。我介绍的时候,因为他应该也不了解,所以没有提问,都是自己说,大概用了5分钟。
@之前提交的题:他会给你找到你的代码,让你看下,然后解释一下你为什么这样写。现场有笔纸,可以用就行。然后解释清楚后,会问你,这道题好像还有更好的解法,是否考虑过。然后会提出,改一下那个题,增加些小条件,让你改一下你自己原来的代码。
我写的第一题;我的代码思路不够清晰,所以用了好长时间给他解释;第一题是最好的解法是动态规划;然后她想让我改一下我的代码,输出找到的path,即打印出一个最少的能够识别出那些charachter的bit位,就只是增加一个输出。由于我写的代码可扩展性不好(我写的一团糟),所以她就没让我改了,so,这个网上提交的代码的可重构性还是很重要的,最好,再尽量熟悉下代码,想想他可能会增加什么条件,而且应该都不会增加太复杂的条件。

@现场做题:
linux环境(默认用codeBlocks,也可以说一下用g++),我们是在虚拟机上做,同时,那台电脑有两个显示屏,一个我们自己看,另一个显示屏,面试官来看,也就说说,她会知道你写代码的过程。(据说,直接用最直观的方法,尽快写出代码很重要)。
关于测试用例,就只用执行出问题那张纸上面的几个用例就行,因为她也看到你写的什么样子,所以可能你写完之后,她也应该已经知道正确性了。
让我做了两道题:
No.1 给出一串数字,如1,2,3,第i个数字表示,第i天商品的价格,每天可以买进这个商品,如果前一天买了,那么这一天就可以选择卖出,当然,不卖也可以。请根据这串价格数据,给出能够获得最大的利润。
eg. 1,2,3 ->2, 第一天买入,第二天卖出,第二天再买入,第三天再卖出。所以盈利2.
解题过程:即扫描数组,找到每个递增序列,然后递增序列的最后一个数字减去递增序列的第一个数据。
或者像我一样,如果明天的价格比今天大,就直接加到全局sum上。
(这个题,我最开始没理解题意,就直接问人家了,人家就很耐心地给解释了一下)
No.2 判断一个数字是否是2的幂。
解法如下:

if((n & (n-1)) == 0)
    return true;
else
    return false;

就这两道简单的题,搜搜做完。
各位LeetCodeR,不要担心,你们肯定没有问题的。也可能是我运气好,题目简单,但是题目难的也不要担心,估计做出来是直接给offer的,不像我这样,就给个实习offer,最后祝大神们直接拿offer~~~
2. 二面:
简单的英语交流一下,自我介绍一下,就是看你有没有简单的英语沟通能力。然后就给我说了一下实习的流程。这时候就听着就行了。

璐璐的助攻:
算法:1. 子串判断:两个字符串,短的那个是不是长的那个的子串;(简单暴力,快快的写出来就很好,KMP(不好写))
2. 最长公共子串:两个字符串,最长得连续的子串;(动态规划)
3. 最长公共子序列:两个字符串,最长非连续的子序列;(动态规划)
4. 两个数时候可以约分,即求最大公约数;参考实现:

int gcd(int x, int y){
    return y == 0 ? x : gcd(y, x%y);
}
  1. 找出连续递增序列(我遇到的就是这样的)
  2. 找出字符串中,两个最长的相同的子串(两个不同位置)暴力就可以
  3. 字符串,全排列(分有重复字符串,和非重复字符串,两种情况)(遍历,和首字符交换,递归)(如果有重复的字符,每次交换的时候,看下是否已经交换过了,如果已经交换过来,就不行再次交换并递归了)

百度:
1. 一面:问的都是项目相关的,陈述项目,和相关算法,优化方法等。workgroup的组织等
不足之处:问了架构底层相关的,比如Nvidia的架构,AMD的架构,wavefront等,回答的不好;对项目中的算法熟悉度不够,思路不够清晰;对显卡带宽,GFloats等数据不熟悉。
2. 二面:主要也是项目相关的,主要是听我说,听我讲,然后最后的时候问了一些:linux下都会哪些开发工具的使用,debug软件GDB有没有用过; 对于怎样实现同步,有没有什么概念,比如怎么加锁都有哪些方式等;
不足之处:基础知识掌握的不好,都不会。

阿里:
1. 一面(阿里云):问了本科所获荣誉;问项目,总会问加速比,每个方法实现了多少的加速比;会问一些底层架构相关,卡的Gfloat峰值等。
不足之处:有问建模比赛(完全忘记)、ACM情况,让我介绍一下,我说的乱七八糟,主要是都忘了,应该再去熟悉一下; 对算法每个方法获得的加速比记得不清,即对自己的项目都不熟悉,再熟悉一下项目;对显卡带宽,GFloats等数据不太熟悉,让人家觉得我这是完全的黑盒优化,对底层了解太少,主要通过尝试性优化,没有自己的性能分析能力;

2.一面:介绍了项目,问了算法和数据结构:
算法:迷宫问题(用一个二维数组存储迷宫,给定出口、给定入口,找一下是否存在出口和入口之间的通路,对于每个点,都有四个方向可以走)、红黑树、排序(归并排序,两个排好序的数组,让找出这两个数组中相同的数),算法复杂度
数据结构:对堆了解么?那vector呢,简单描述一下。智能指针的作用?

回答情况:红黑树不知道,排序相关的算法,给定提示是用归并排序了,但是因为与另一个排序方法搞混了,思路上就没帮到,算法复杂度应该回答的还可以。
不了解堆,vector说的不详细,智能指针,只了解一种,其他不了解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值