I can write independent java, python, c, c++ code but I do not know every aspect of them. For example, I don't how to code with database in python/c/c++. I have few experience with GUI programming.
I was aware that most of the jobs isn't just need us to write an simple code. They may need some GUI and you need to upload the programming result to a FTP server via some ftp code with some I-don't-know-the-name plugin/library. I have seen a job of web scrapping by python, and the client wants the program to insert the data into a database immediately after the web scrapping, and delete old data older than 6 month.
A client won't accept a contractor to say "I will need to figure this xyz-technology for sometime before I can tell you whether I can do it". What is worse, is that you find you are incapable of doing his job for whatever the reason, you are screwed.
I am wondering, do you apply for a freelance job if you don't feel like an expert to all the fields/technology listed in the job requirement?