今年6月末来到现在所在的公司,在此之前将近一个多月的时间面试了三四家公司。当时想应聘的岗位有:产品经理和技术总监——这看似有些矛盾,一文一武,“你到底最擅长做什么?还是你两个岗位都ok、不存在孰轻孰重?”,想必你会有这些疑问;不错,其实这正反映了我当时内心的纠结和挣扎。为何?待我慢慢道来。
我之前做了五年多的开发,而后又转型做了半年多的产品,不同的是:开发已由刚开始照猫画虎的懵懂到后来已经驾轻就熟并且有自己的想法,以至于感觉已经触碰到了目前能接触到开发层面的天花板,没有挑战,也没什么兴趣了;所以转型做产品是有些偶然但也比较“顺理成章”的事。由技术转型做产品经理,大家都知道有优势但也会经历更痛苦的蜕变,这个我也不例外——一直小心翼翼、如履薄冰的做事,“困惑、束手束脚、鸭梨山大”是我对之前半年产品工作的最深刻感受;每天上班、甚至休息放假的时间,我都感觉惴惴不安,想着怎样将工作做的有声有色,得到老板的认可,但越是这样,越发现自己被紧张的情绪所包围,以至让自己陷入困境,“无形的压力压得我好累...”,最终我选择了辞职。因为我相信:在比较放松的状态下才能有更多的想象和创造力;如果再这样下去只会让我想象力匮乏、身心疲惫!
产品经理岗位当时应聘了两家公司,一家是现在所在的,另一家是北京在襄阳的分公司;初试还算机智的通过,复试被淘汰,准确说就像跟一个高手过招被虐的很惨。这篇文章就想对当时的面试作下总结,以便能给需要的朋友一些帮助。
1.以用户的角度介绍产品
产品设计需要跳出角色,跟用户介绍产品更应如此——产品介绍不是功能的堆砌、陈列,而是要以用户的角度告诉他:这个产品/功能能给他带来什么(产品价值),并且要简单扼要、清晰明了。比如:现在比较多的学英语的App都有这样的功能:用户可以选择(对话)课程,它会对你的每句发音做评分并给出错误发音单词提示,这算是功能需求简要描述,如果你这样给用户介绍,可能有不少小白用户会听的云里雾里;但你如果告诉他:你可以通过练习矫正发音,这样是不是让他更容易接收、理解呢?!
2.多思考如何去改进一个产品
记得初试时,面试官问了我一个问题:介绍一款App,谈下如果你是PM,你打算如何去改进它?我当时也算是灵机一动,想了想之前用的比较多的UC浏览器,就说了两点改进意见:
a.云同步:登录和注册入口不明显
b.断网情况下,提示界面不友好,且“网络诊断”功能不能给予正确诊断结果和修复建议——应该让用户轻松搞定“断网”
虽然有些侥幸通过了初试,但同时也提醒了我:如果想成为一名优秀的产品经理,你需要多思考“如何去改进一个产品”并成为习惯,因为思考的过程就是你提高的机会!
3.要关注产品的每次更新
这点有点儿司空见惯了,但如同上面——你应该多去留心并思考,这个App为什么要做这样的更新?它要满足怎样的用户需求或实现怎样的产品运营效果?...
4.说话要有条理
大家都知道产品经理需要很强的沟通和表达能力,让开发、美工和老板等快速、清晰的理解你的想法,如何做到?让自己说话有条理,便是一种简单、有效的方法。那如何做到有条理?分类是化繁为简的方法之一,同样,我们可以以“1,2,3...”逐条列出自己的想法。
还有就是:要留心生活中的细节;一定要多从用户的角度考虑,目前的操作流程是否还可以再简化、再简化,让用户在最短的路径下完成操作!
好了,一个“在路上不甘平凡”的小城市初级PM——与你像是跟朋友一样零零散散的聊了这么多,期待能与你相识结伴同行!
我的微信订阅号:zxcknowmore,你的关注与支持,是我多写博文的动力!
本文链接:产品经理应聘之感受漫谈,转载请注明。
感谢控件作者:https://github.com/SocialObjects-Software/AMSlideMenu
首先上效果图:
这里我们使用AMSlideMenu来实现左右侧滑菜单的效果。控件支持单独左侧滑、单独右侧滑和左右侧滑。同时支持Storyboard和xib两种开发模式。这里介绍第二种,在xib中的开发。
开发步骤如下:
1. 在Podfile中添加:pod "AMSlideMenu", "~> 1.5.3",通过pod install导入项目。
2. 在Pods项目中(注意:不是你自己的项目),在Pods-*.pch文件中添加如下一行代码:
#define AMSlideMenuWithoutStoryboards
3. 实现一个继承了AMSlideMenuMainViewController类的ViewController。主要代码如下:
{
/*******************************
* 初始化菜单
*******************************/
self.leftMenu = [[LeftMenuTVC alloc] initWithNibName:@"LeftMenuTVC" bundle:nil];
self.rightMenu = [[RightMenuTVC alloc] initWithNibName:@"RightMenuTVC" bundle:nil];
/*******************************
* 结束初始化
*******************************/
[super viewDidLoad];
// Do any additional setup after loading the view.
}
// 设置左侧菜单按钮样式(右侧按钮类似操作)
- (void)configureLeftMenuButton:(UIButton *)button
{
CGRect frame = button.frame;
frame.origin = (CGPoint){0,0};
frame.size = (CGSize){40,40};
button.frame = frame;
forState:UIControlStateNormal];
}
4. 实现一个继承了AMSlideMenuLeftTableViewController的UITableViewController的类作为左侧菜单(右侧菜单类似)
主要代码如下:
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
// 初始化菜单项
self.tableData = [@[@"VC 1",@"VC 2",@"VC 3"] mutableCopy];
}
// 点击菜单项跳转到不同的VC
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UINavigationController *nvc;
UIViewController *rootVC;
switch (indexPath.row) {
case 0:
{
rootVC = [[FirstVC alloc] initWithNibName:@"FirstVC" bundle:nil];
}
break;
case 1:
{
rootVC = [[SecondVC alloc] initWithNibName:@"SecondVC" bundle:nil];
}
break;
case 2:
{
rootVC = [[ThirdVC alloc] initWithNibName:@"ThirdVC" bundle:nil];
}
break;
default:
break;
}
nvc = [[UINavigationController alloc] initWithRootViewController:rootVC];
[self openContentNavigationController:nvc];
}
5. 最后记得在AppDelegate中要做这步操作(当然,其它地方也可以):
{
MainVC *mainVC = [[MainVC alloc] init];
UINavigationController *startNVC = [[UINavigationController alloc] initWithRootViewController:mainVC];
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.rootViewController = startNVC;
[self.window makeKeyAndVisible];
return YES;
}
有不明白的地方可以直接下载源码。源码地址:http://files.cnblogs.com/ilovewindy/AMSlideMenu.zip
本文链接:iOS:制作左右侧滑(抽屉式)菜单,转载请注明。
没有评论:
发表评论