富士通南大实习五月记

四月份的时候看周围一个个人都在找实习,每天看书的我也静极思动了,投了一个月简历没任何消息,连个笔试通知都没有。。。那时候一心想去华为,华为的实习招聘却一直不开始。同学帮我内推到富士通,四月中的时候去面试的,还记得是张老大跟李大姐面的我,问题的题差不多快忘记了,有道字符串的程序要写。面的比较简单吧,接下来就谈工作时间,那时候说好的是工作五个月,9月20号辞职。

确定拿到实习offer后我拖了一个星期,期盼华为南研所能招实习。。。后来就不想等了,便工作去了。那时候最囧的是我竟然没谈工资。。。第一次面试没经验啊,只好按最低工资拿了。工作一个星期后,我直接找课长要求涨工资了。起因是我知道旁边南大的实习生进来就是160/天,我自觉自己的实力不算差,为什么要比其他人低40呢。纠结了一下午应该怎么开口,事实上说了要求后课长立马就同意了。。。让我想得好多说辞都没用了,跟一拳打在棉花上一样(不得不说课长是个很干脆的人,很会拿捏分寸)。

刚开始的一个月实习非常累,我很想快点进入状态,不想在开会时做一个懵懂的听众,每天都强迫自己灌输项目的各种概念(项目代号叫AROMA,很优雅)。就算是下班后,我还会在网上搜项目相关的知识点。AROMA是做一个嵌入式的平台,项目主要工作是对以前的硬件和软件升级,只要是移植。我对linux驱动开发非常感兴趣,项目刚好也是这个方向,那时候工作非常起劲~在工作十几天后就度过新人的OJT,提前参与了项目的研发。

还记得自己独立写第一份代码的激动,花了两天时间才搞定各种问题。进行代码review之后又改的面目全非。让我这科班生终于见识到了正规的代码编写:代码风格要求非常严格(写出来确实很好看),结构清晰(你必须要解释给所有人听),这些东西都是在课堂上学不到的。对于品质的要求再后来的几个月中一直在震撼我。每次开学习会都可以学到很多东西,技术反而是次要的,关键是眼界。比如说项目推进方法,AROMA有两个大的升级,平台从X1升级到X2,平台从2.6内核升级到3.0内核,我是没任何思路的,让我做肯定是一步搞定~经过讨论的推进步骤是分两大步:先进行系统升级改进,再针对硬件平台开发。我觉得软件工程是在课本上学不来的,只能在实际开发中自己慢慢体会慢慢领悟。

时间过了很快,在六月份的时候,我已经慢慢进入状态,对项目有了大致的印象,不像之前那么累了。在六月楚参加了华为的实习招聘,那次面试感觉相当好,面试官说可以给我安排我感兴趣的部门实习,可那时候项目正在紧要阶段,我也实在不好意思去辞职。六月中的时候李大姐要去日本进修了,组里一起去腐败为她送行,表示就是一直吃一直吃,不用喝酒,哈哈。这种风气很好,我讨厌喝酒。。。还有一件重要的事,我开始加班了,有一个daemon需要追加功能,原计划是继续修修补补,课长看不下去了,表示要重构,于是时间便紧了,计划是加班两个星期搞定。从此开始了我苦逼的加班生涯。。。

刚开始加班,心中满是兴奋(不得不感慨,年轻就是好啊)。学到的确实很多,还记得晚上讨论数据结构与代码流程,课长、组长各种争吵。。。写代码给我一种很单纯的愉悦感,我很享受写代码的时间。晚上下班后,走在路边,陪着我的是一支烟和月亮,很有高中下晚自习的感觉。跟有经验的人一起共事可以学到很多东西,很多对别人理所当然的事在我看来都是惊奇的。

6、7月份加班很多,测试很痛苦,现在回过头来看,还是有很多值得总结的。在9月份的项目分析上,aroma的bug数过多,而且有几个bug无法解决。测试与修复bug的过程很痛苦,经常几天没有任何进展。我觉得是对项目认识不够深,尽管主要开发人员项目经验足够丰富,但驱动开发技术要求较高,恰恰都没这方面的技术经验,主要就是技术储备不足。一个人的技术缺陷是无法自我察觉出来的,觉得自己的程序实现的足够完美,但在高手看来立马就是破绽百出了!在编码阶段无法认识到实现的缺陷,且对技术基础原理认识不足,计划再完美也没用,六月份编码阶段一切按照工程计划按部就班,可以说非常完美,无需加班,任务全部完成,例如在驱动移植中,只管将2.6内核中的新增功能代码添加到3.0内核中,用winmerge就可以搞定了,然后功能测试通过,这驱动就算移植成功了。没人关心base版代码的设计与功能,限于自身的学识,是意识不到其重要性,于是就无需浪费时间学习。软件工程中有句话:当一群菜鸟(大家都没有驱动开发的经验的菜鸟)能按照预定计划进行开发而无问题时,往往就是有大麻烦的时候。这句话很快应验了:在7、8月份的测试中,修复bug非常困难,我们发现需要通读所有的驱动代码,理解原代码的调理顺序,而不仅仅是自己新增功能的代码。为了弥补6月舒适工作而产生的“技术债务”,只能在测试中拼命加班还债了。在我看来,这种加班其实是管理者的责任,对开发中的技术风险控制不足,在开发中没有干预的结果,开发者都是乐观主义者,没人会意识到自己的技术不足以胜任(在测试、维护阶段可以会意识到,往往已经晚了)。

我独立写了一个脚本,功能是运行磁盘检查命令,分析其log,在有错误的时候进行修复。脚本的代码量在50行左右,尽管以前没有写过,但通过百度通过基本的if、for、while循环与文件重定向语句还是把功能给实现了。写完还沾沾自喜:尽管没怎么学过,但还是能够把任务完成了。。。。但在9月份课长阅读了我的代码后,就告诉我不用在管这份代码了,会给其他人重新写。囧,当时还很想不明白,自觉自己的代码没写那么差呀,怎么就叫毙了呢?在学校中,我看了《linux shell 脚本攻略》,系统学习了脚本语言,才知道自己以前写过的代码有多丑陋!在有个类似功能的代码,用awk只需要武行代码。完整学习基础知识与仅靠百度而完成代码区别还是很大的,代码不仅仅是需要完成功能,还需要优雅、清晰、健壮,没有足够的知识储备是不行的。也可以看出,越无知越自大,当知识太少时会觉得自己任务完成的挺不错,而知识越多越谦卑,才能认识到自己的更多缺点!最后引用屈原的一句话,以此自勉:路漫漫其修远兮,吾将上下而求索!

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
南京富士通南大软件的C语言笔试是一个考察应聘者C语言编程能力和基础知识掌握程度的测试。该笔试通常包括以下几个方面内容: 1. C语言基础知识:题目可能会涉及变量、数据类型、运算符、控制流程等基础知识的考察,考查应聘者对C语言的理解和运用能力。 2. C语言语法和语义:题目可能会涉及C语言的语法规则和语义理解,要求应聘者能够正确地分析和理解给定的代码段,并给出结果或修改建议。 3. C语言程序设计:题目可能要求应聘者完成一些基本的程序设计任务,如编写一个简单的计算器、字符串处理函数或其他算法实现,考查应聘者的编码能力和逻辑思维能力。 4. C语言库函数和标准库:题目可能会考察应聘者对C语言中常用的库函数和标准库的使用和理解,比如字符串处理函数、文件操作函数等。 5. 错误处理和调试:题目可能会给出一些已有的C语言代码,要求应聘者识别代码中的错误并进行修复,以及给出代码运行结果或报错信息。 参加南京富士通南大软件的C语言笔试前,应聘者可以通过复习C语言基础知识、查看相关教材和编程练习来准备。熟悉C语言的语法和常用函数,理解常见的程序设计方法和思路,对于提高通过笔试的机会将会有所帮助。同时,应聘者还需要注重练习编程和解决实际问题的能力,提高在C语言编程中的实际应用能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值