由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请问面试中几个面试写程序的技巧性问题。
相关主题
onsite写code需要注意细节吗?谈谈面试中化归的思想
面试编程习惯问题从电面的feedback看细节决定成败
两道题,祝大家新年快乐!关于 coding interview - 思路简单,编码困难,如何是好?
给定一个值和sorted队列,找到所有pair(其和等于给定值)求推荐准备面试的书籍,发G 电面面经
onsite归来,还是写点感受吧近期的一些面经
短时间内两次败于Amazon onsiteg onsite 后,发现自己code有bug
分享A家面筋(全套)help on behavior quesiton
贡献一道电面/校招题目One onsite inverview question
相关话题的讨论汇总
话题: 队列话题: 程序话题: 元素话题: 变量名话题: 面试
进入JobHunting版参与讨论
1 (共1页)
p******e
发帖数: 528
1
1。写程序时应该先保证运行结果正确,还是应该先保证算法高效?
比方说我用数组a实现一个队列,我可以让队列的头在a[0],然后用index
去访问各个元素。但是当我要删除队列的头一个元素的时候,我如果还想
把a[0]当成队列的第一个元素,我就得把整个队列向左挪一下。这样程序
写起来稍微容易一点,因为我总可以假设a[0]是头一个元素。但是这样写
效率就会比较差,因为在删除头一个元素后,我得挪动整个队列。还有一个
办法就是用一个变量front来单独标记队列的开始,而且当队列已经用到
最后一个元素的时候,我可以继续用front以前的位置来存放新进来的元素。
这样效率会好,但是要是一不小心,可能在访问元素的时候写错。
比方说是多个1或者少个1。请问在这种情况下应该是首先保证程序正确,
还是应该保证效率高?或者换句话说,但我先写出了一个正确但效率
不是最好的程序后,面试官会直接认为我只会最没有效率的写法,而
直接把我默拒了呢?
2。我看版面上有人写有的公司面试的时候让写程序,但是不允许测试和
编译。换句话说就是看程序能不能一遍通过。那这种时候要是有个小错,
比方说一个变量名是AAAA,结果后边写的时候不小心写成了AAA的话,
那岂不要fail掉了。
c*******0
发帖数: 162
2
1.正确是第一位的,是否高效可以根据面试官的follow up quesiton再优化。
2.Bug free正是很多公司考察的一个方面。能把程序一次写对确实不容易,如果问题简
单,面试官当然期望看到你一次写对,如果问题复杂,corner case很多,那他也应该
不会太为难你。
p******e
发帖数: 528
3
多谢你的回答。主要是以前写程序有个边写边调的毛病,所以有时候即使知道写的
可能有点问题,也是等调试的时候一下一下试出毛病后再改。看来这个对于面试
来讲不是个好习惯。

【在 c*******0 的大作中提到】
: 1.正确是第一位的,是否高效可以根据面试官的follow up quesiton再优化。
: 2.Bug free正是很多公司考察的一个方面。能把程序一次写对确实不容易,如果问题简
: 单,面试官当然期望看到你一次写对,如果问题复杂,corner case很多,那他也应该
: 不会太为难你。

m**e
发帖数: 150
4
aaa 写成 aa不算bug,尤其是变量名很长的时候,写错一个字母没有人会在意。
如果需要经常从头删除,从一开始就要避免用数组,或者在数组尾部操作,否则你写的
bug free也fail了。

:1。写程序时应该先保证运行结果正确,还是应该先保证算法高效?
:比方说我用数组a实现一个队列,我可以让队列的头在a[0],然后用index
c*******0
发帖数: 162
5
别客气,没错。真不是个好习惯,就算平时工作,边写边调试也不是好习惯。另外,
mage说把aaa写成aa不算bug, 因为面试官可能也看不出来。我不这么认为,有些公司是
在线系统,需要你运行程序。显然写错一个变量名肯定是通不过的。

【在 p******e 的大作中提到】
: 多谢你的回答。主要是以前写程序有个边写边调的毛病,所以有时候即使知道写的
: 可能有点问题,也是等调试的时候一下一下试出毛病后再改。看来这个对于面试
: 来讲不是个好习惯。

d*********e
发帖数: 352
6
一切都看面试官
先要问清楚
k**l
发帖数: 2966
7
这年头俺工作中都用 Eclipse, 习惯了把变量名弄的挺长,Eclipse 既有 autofill,
而且有 typo 也能提醒
最近刷leetcode才发现变量名长了很容易打错,只好都上短变量

【在 c*******0 的大作中提到】
: 别客气,没错。真不是个好习惯,就算平时工作,边写边调试也不是好习惯。另外,
: mage说把aaa写成aa不算bug, 因为面试官可能也看不出来。我不这么认为,有些公司是
: 在线系统,需要你运行程序。显然写错一个变量名肯定是通不过的。

p******e
发帖数: 528
8
这个其实就是我所担心的。如果这些在线的面试系统不能允许我测试我的程序,万一我
有个
像写错变量名这种低级错误,(我一般是用Emacs写程序,所以长得变量名都是自动补
全的。)
就只能寄希望于看code的人能够仔细的看我的程序。

【在 c*******0 的大作中提到】
: 别客气,没错。真不是个好习惯,就算平时工作,边写边调试也不是好习惯。另外,
: mage说把aaa写成aa不算bug, 因为面试官可能也看不出来。我不这么认为,有些公司是
: 在线系统,需要你运行程序。显然写错一个变量名肯定是通不过的。

p******e
发帖数: 528
9
这个可能确实是个交流的问题。我不知道能不能一开始就告诉面试官说我知道我
的这个写法是低效率的,但是我想先把程序写对,然后再改进。但是就是不知道
能不能被接受了。

【在 m**e 的大作中提到】
: aaa 写成 aa不算bug,尤其是变量名很长的时候,写错一个字母没有人会在意。
: 如果需要经常从头删除,从一开始就要避免用数组,或者在数组尾部操作,否则你写的
: bug free也fail了。
:
: :1。写程序时应该先保证运行结果正确,还是应该先保证算法高效?
: :比方说我用数组a实现一个队列,我可以让队列的头在a[0],然后用index

C********e
发帖数: 492
10
你这个问题归根到底还是coding能力不足的问题。
你都想到更好的算法了实现起来还是会有bug,还是应该靠更多的coding来提高。

【在 p******e 的大作中提到】
: 这个可能确实是个交流的问题。我不知道能不能一开始就告诉面试官说我知道我
: 的这个写法是低效率的,但是我想先把程序写对,然后再改进。但是就是不知道
: 能不能被接受了。

n******n
发帖数: 12088
11
第一问,你的数据结构选择是错误的。只看结果正确有什么用?

【在 p******e 的大作中提到】
: 1。写程序时应该先保证运行结果正确,还是应该先保证算法高效?
: 比方说我用数组a实现一个队列,我可以让队列的头在a[0],然后用index
: 去访问各个元素。但是当我要删除队列的头一个元素的时候,我如果还想
: 把a[0]当成队列的第一个元素,我就得把整个队列向左挪一下。这样程序
: 写起来稍微容易一点,因为我总可以假设a[0]是头一个元素。但是这样写
: 效率就会比较差,因为在删除头一个元素后,我得挪动整个队列。还有一个
: 办法就是用一个变量front来单独标记队列的开始,而且当队列已经用到
: 最后一个元素的时候,我可以继续用front以前的位置来存放新进来的元素。
: 这样效率会好,但是要是一不小心,可能在访问元素的时候写错。
: 比方说是多个1或者少个1。请问在这种情况下应该是首先保证程序正确,

k**l
发帖数: 2966
12
犀利啊,感觉 lz 是不是外行裸刷题,对应的数据结构还是要懂比较好,否则弄出结果
来也过不了面试

【在 n******n 的大作中提到】
: 第一问,你的数据结构选择是错误的。只看结果正确有什么用?
p******e
发帖数: 528
13
请问你的意思是不是说要实现一个队列(queue),它背后的数据结构应该是链表,因为
链表很容易插入和删除第一个和最后一个元素。
(我用数组来举这个例子其实是因为我碰到的那个题目本身要求用数组来实现这queue,
所以我没有选择的余地。)

【在 n******n 的大作中提到】
: 第一问,你的数据结构选择是错误的。只看结果正确有什么用?
p******e
发帖数: 528
14
确实是如此,我还没有开始刷题,现在正在自己补数据结构和算法的知识。其实这个问题
也和另外一个问题有关,就是不同背景的人可能会对同一个问题有完全不同的认识。比
方说我
听说有人面试被问如何去求解一个f(x)=0 的一元方程。这个被问的人是数值计算的
背景,
他首先想到的就是类似于Newton-Raphson类似的迭代算法,结果后来有人告诉他面试官
想听的是二分法。其实就是把解f(x)=0作为一个类似于二分查找的变种来问的。所以
无论
哪个参加面试的人怎么改进他的迭代算法都没法通过面试。因为俩人谈不到一块去。。。

【在 k**l 的大作中提到】
: 犀利啊,感觉 lz 是不是外行裸刷题,对应的数据结构还是要懂比较好,否则弄出结果
: 来也过不了面试

1 (共1页)
进入JobHunting版参与讨论
相关主题
One onsite inverview questiononsite归来,还是写点感受吧
Probability quesiton短时间内两次败于Amazon onsite
发Amazon两次电面,攒人品求祝福分享A家面筋(全套)
问一道C# interview testing quesiton贡献一道电面/校招题目
onsite写code需要注意细节吗?谈谈面试中化归的思想
面试编程习惯问题从电面的feedback看细节决定成败
两道题,祝大家新年快乐!关于 coding interview - 思路简单,编码困难,如何是好?
给定一个值和sorted队列,找到所有pair(其和等于给定值)求推荐准备面试的书籍,发G 电面面经
相关话题的讨论汇总
话题: 队列话题: 程序话题: 元素话题: 变量名话题: 面试