即将大二的学生真心求各位前辈給点建议

2014-07-12 17:20:17 +08:00
 zxdsc
本人目前在广州一所3A专科院校就读嵌入式专业。

先梳理一下这一年学校和计算机有关的课程:
#计算机应用基础(主要是office), C语言(仅是基础语法),计算机网络基础,windows server2003的使用, 电子电路(一个学期就把电路基础,数电,模电匆匆掠过), linux基础。

就这些了,经过一年的经历,发现这学校教的真的略虚,东西只讲个表皮,真心对这个学校不报希望了,打算从大二开始自学。

现在自己主要是用C语言,大概了解数据结构(看过<大话数据结构>,仅仅了解树,表,棧等), 看过<鸟哥的LINUX私房菜>,看过点python(仅限基本语法,因为很多库太方便用起来有点心虚,不知道其中原理,于是没继续下去了),然后会点HTML和CSS...

不过到现在都没做过什么成品。 暑假带了《linux/unix系统编程手册》,《unix/linux编程实践教程》,《数据结构和算法分析》回家看。

目前也没想清未来的方向,对linux服务器开发,web开发有点兴趣。但不知道linux服务器开发对学历要求是否太高?也不知道自己是否真的能胜任。

打算以后自考中山大学的计算机应用自主本科,但不知道是否应该这样下去。 暑假学校安排了认知实习的必修课程(要写报告),叫我们去外面找实习,不过我没去找,也觉得找不到的,打算还是在家学点东西好。现在忽然也觉得专科的毕业证有一定可能性拿不到。

无数次怀疑过自己,是否要在这条路上继续,记得当初初中时上被各种传教似的“程序员是世界上最美丽的魔术师,他们将枯燥无味的代码变成一个个丰富多彩的应用。。。”感动得一塌糊涂,也曾听乔布斯的改变世界和激情澎湃,被各种黑客小说迷得神魂颠倒。 那时的我就想要做个牛B的程序员。
可是也不曾想会变成这样。。。。
3538 次点击
所在节点    程序员
12 条回复
tonyluj
2014-07-12 17:50:01 +08:00
LZ的方向应该叫后端开发工程师(腾讯)、系统工程师(阿里):
简单说一下路线,比开发Andorid神马的要枯燥,并且对基础要求更高:
1. C 必备技能 熟悉语法,能开发简单应用是基础,要进一步熟悉C内存结构布局分配,指针,结构体,这里推荐TCPL C专家编程 APUE
2. Linux 必备技能,运维的东西不用知道太多,要了解Kernel,Process\Memory\SystemCall\Signal\Timer等等都要了解,看源代码最好,推荐深入理解Linux内核 Linux内核设计与实现
3. Nginx/Memcached/Redis,看看他的源代码,看看C10K问题,看看EPOLL模型,推荐UNP(内容稍旧)
4. 额外掌握Python/Golang,了解Python下的twisted 和 golang的并发模型
sennes
2014-07-12 17:58:37 +08:00
嵌入式专业 不知道你们这个专业的方向是硬件还是软件。
不过看到你要学数电模电..我想应该是偏硬件一点的。
我自己是集成电路设计专业的,也学过嵌入式相关的课程。
如果你是想往硬件方向发展,就往下看吧。
一般来说我们专业有两种人:
1.不管感不感兴趣,只钻研对以后工作有帮助的方向,这些人可能会学习很多底层的、比较专业的知识。比较不肯接受新的东西(深度)
2.只要自己感兴趣的都去学一下(广度),尝试很多新的东西。
我个人觉得大学比较适合去拓展广度,而不必去纠结找工作之类的事情。
//
有以下建议:
1.挑一些自己感兴趣的硬件来学习一下 (树莓派、pcduino、arduino、stm32之类的)只要自己感兴趣就行。
2.玩硬件要多动手,学校有资源就去用学校的。没有自己掏钱买来玩。
3.前期看各种教程一步步跟着玩,后期培养自己的创意和直觉试着做自己想做的东西(抛弃教程,创新)
4.看到感兴趣的东西,想学就去学,不要管和自己专业相不相关。(我学python的时候也没想着他可以用来玩硬件)
//
最近买了树莓派 放假就在玩她。
还是以搞硬件为主,并且在上面学习python,顺便玩玩django,再自己做个板子给树莓派做拓展 设计一个比较完善的“东西”出来。软硬兼施,这样放假感觉一点都不浪费 (最重要是自己喜欢)

总结: 大学兴趣为主、经常动手、注意创新、不要迷茫。
说的有点多 希望对你有帮助 不要迷茫了 大学一眨眼就没了
zxdsc
2014-07-12 19:24:01 +08:00
@tonyluj
对这个方向是有较大的兴趣,最近看的书好像也围绕着这方面。但也知道这个职位对能力貌似要求比较高。
不知道除了这些,对算法,数学等有没有太大要求。百度百科上还说要了解点常见的网络攻击?
em70
2014-07-12 19:26:29 +08:00
大学的本质是培养人独立思考能力,不是职业培训中心,你希望让人教你编程这是不可能的,况且自学是程序员最重要的能力。

不要指望看书能看成高手,去做东西,喜欢什么做什么,积累1万行编程经验是基础。
zxdsc
2014-07-12 19:26:31 +08:00
@sennes
手上有个arduino的板,不过没有玩太多。。
因为在学校的老校区,基本上没有资源可利用,而且暂时对硬件相关的提不起兴趣(特别是上了模电数电后)。
不过还是谢了=v=
em70
2014-07-12 19:29:33 +08:00
@zxdsc 有兴趣就赶快去实践啊,什么知识挡你路就学什么,别管是算法还是数学。
jybox
2014-07-12 19:35:13 +08:00
看最后一段,你一定看了「疯狂的程序员」
zxdsc
2014-07-12 19:44:05 +08:00
@jybox 初中的时候看的,当初看得我热血沸腾= =
zakokun
2014-07-12 20:35:54 +08:00
说白了你还是懒而已,想多快好省的学会一门技术,又不想投入太多精力.真的想学,问的都是技术问题
你们这类心态,包括"A语言和B语言,我该学哪一个呢?"这样的问东问西,问到最后我保证一个个都啥也没学.总是一副"人家精力那么宝贵,大家帮我规划一条最省力的路线吧"什么什么的,哪有这种好事啊?
说什么"诶呀呀,X语言是不是要求数学水平很高啊,人家不知道行不行诶",得了吧,就是没心气认真做事而已.
我搞web开发,学习的时候html/css, js,php,sql,linux配置,都需要学习,都不能拖后腿.现在工作我只搞php和数据库. html,js很长时间没写过了,但是学习的时候html,js就不用学了吗?根本不可能!这些不学php就是个残废.
所以你真心想好,那有什么好迷茫的?认真去学就是了,看书敲代码,觉得难就看视频,照着视频一步步敲总会吧?实在不行自己攒点钱或者找父母要钱培训个把月,总能入门了吧?有那么纠结吗?

说白了,你纠结的是"如何在保证我充足的娱乐时间的前提下多快好省的学会一门技术"...
tonyluj
2014-07-12 20:38:47 +08:00
@zxdsc
关于算法数据结构的知识,是必须要掌握好的,基础知识,譬如Linux中的循环双链表,红黑树等
算法 动态规划 分治 查找 排序 DFS 字符串等

其他的广泛涉猎即可,在学习TCP/IP的时候,肯定会接触SYNC flood攻击等
tonyluj
2014-07-12 20:40:50 +08:00
@zxdsc 数学,不用了解太多,和高数关系不大
程序员(不是计算机科学家)用到的 数学知识就是那几种
Water
2014-07-13 12:07:01 +08:00
我是某985的,计科排名10(2012年那个),大一一年学了微积分 线性代数 概率论 语文 英语 政治 工程制图 blablabla以及c语言和半本离散数学…=_=

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/122317

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX